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