多線程常用的成員方法
多線程常用的成員方法
- 細節:
-
若我們沒有給線程設置名字,線程也是有默認名的
- 格式 Thread-X (X -> 序號,從0開始)
-
構造方法也能給Thread起名字
-
currentThread()的細節
- 當JVM虛擬機啟動後會自動啟動多條線程
- 其中有一條線程就叫main
- 他的作用就是去調用main方法並執行裡面的代碼
- 以前我們寫的所有代碼都是運行在main線程中的
-
sleep(long time)
- 哪條線程執行到這個方法那麼那條線程就會停留在這裡對應的時間
- 方法參數:停留的時間 單位毫秒 1秒=1000毫秒
- 時間到後,線程會自動醒來繼續執行
-
setPriority & getPriority
- 電腦設計中分為搶佔式調度與非搶佔式調度
- 非搶佔:大家照順序輪流
- 搶佔:先喊先贏,所以隨機性高
- Java的策略屬於搶佔式調度
- Priority有十檔 --> 1~10 ,預設為5
- 不是說設為10就一定第一個完成
- 只是一個機率問題,設高就很高的機率優先使用
- 電腦設計中分為搶佔式調度與非搶佔式調度
-
setDaemon
- 當設為true時,代表這個線程被當作一個"守護線程"
- 當非守護線程執行完畢時,守護線程才會陸續結束
-
yield & join
- yield 出讓線程 :
- 當執行完當前操作後,會出讓當前cpu的執行權
- 使用yield會盡可能讓執行權均勻一點
- join 插入線程
- 讓指定線程插隊到前面
- 此時土豆會先跑完,才跑main
- yield 出讓線程 :
-