線程 -----基礎

進程是操作系統分配資源的最小單元,而進程是由很多線程組成的,其中線程拿到CPU資源執行的時間間隔叫時間片,以納秒爲單位。線程是程序執行流的最小單元。
線程有新建狀態,可運行狀態,運行狀態,阻塞狀態,死亡狀態。
新建狀態就是實例化了線程,但是還沒有開始運行,也就是沒有start();
可運行狀態指線程開始運行但沒有拿到Cpu執行權在等待CPU執行權的狀態
運行狀態指線程開始運行並拿到CPU執行權的狀態
死亡狀態指線程把程序執行完畢的狀態
線程只能運行一次。
線程的實現方法有兩種:一種是繼承Thread,重寫run。
一種是實現Runable接口,重寫run。
阻塞狀態有三種劃分:1.當運行代碼時執行到sleep和join時進入休眠
2.當拿到鎖代碼鑰匙的線程被wait,交出了鑰匙並休眠
3.當有鎖代碼的鑰匙被別的線程拿走了,等待鑰匙時////當被wait的線程被notify喚醒時沒有鎖代碼的鑰匙時等待鑰匙。
線程的基本方法:isAlive() 返回線程是否處於活動狀態
getName() 獲得線程名字,默認是從Thread 0 開始
setName() 設置線程名字
start() 啓動線程
sleep(time) 是線程休眠time毫秒
stop() 停止線程(已過時)
wait() 釋放鎖代碼的鑰匙,並進入wait鎖池
interupt() 如果線程在休眠,如執行了sleep,wait。會被interup喚醒。
會改變isinterupt 的表示位,默認爲False,當被喚醒時變爲true
寫在其他線程會影響其本的方法:notify() 隨機喚醒被wait的一個線程
join() 讓該線程直接獲取CPU權限,並直接執行完畢代碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章