1.進(jìn)程和線程
2.多線程程序運(yùn)行模式
3.定義線程的方法
多進(jìn)程和多線程
多進(jìn)程:在操作系統(tǒng)中能(同時(shí))運(yùn)行多個(gè)任務(wù)(程序)
多線程:在同一個(gè)應(yīng)用程序中有多個(gè)順序流(同時(shí)執(zhí)行)
線程的執(zhí)行過程
單線程順序執(zhí)行
多線程兩個(gè)流程同時(shí)執(zhí)行荆几,一起搶占CPU的時(shí)間
newThread---->start()----->Runnable------->Running------>run()運(yùn)行完畢---->Dead()
Running--->阻塞事件Blocked---->解除阻塞Running
創(chuàng)建線程的方法
方式1:定義一個(gè)線程類拯爽,它繼承類Thread并重寫其中的方法run(),方法run()稱為線程體锯七;
由于java只支持單繼承掷空,用這種方法定義的類不能再繼承其他類
方式2:生成一個(gè)Runnable接口實(shí)現(xiàn)類的對(duì)象乃正,生成一個(gè)Thread對(duì)象谦铃,并將Runnable接口實(shí)現(xiàn)類的對(duì)象作為參數(shù)啦辐,傳遞給該Thread卓嫂,通知Thread慷暂,執(zhí)行start()方法
推薦使用第二種方式
線程的簡單控制方法
中斷線程
--Thread.sleep();
--Thread.yield();
設(shè)置線程的優(yōu)先級(jí)
--getPriority()
--setPriority();
關(guān)鍵字Synchronized
鎖住的是對(duì)象,鎖住的不是代碼塊