thread.sleep(long millis),一定是當前執行緒呼叫此方法,當前執行緒進入阻塞,但不釋放物件鎖,millis後執行緒自動甦醒進入可執行狀態。
thread.yield(),一定是當前執行緒呼叫此方法,當前執行緒放棄獲取的cpu時間片,由執行狀態變為就緒狀態(可執行狀態),讓os再次選擇執行緒。作用:讓相同優先順序的執行緒輪流執行,但並不保證一定會輪流執行。實際中無法保證yield()達到讓步目的,因為讓步的執行緒還有可能被執行緒排程程式再次選中。thread.yield()不會導致阻塞。
t.join()/t.join(long millis),當前執行緒裡呼叫其它執行緒的join方法,當前線程阻塞,但不釋放物件鎖,直到其它執行緒執行完畢或者millis時間到,當前執行緒進入可執行狀態。
obj.wait(),當前執行緒呼叫物件的wait()方法,當前執行緒釋放物件鎖,進入等待佇列。依靠notify()/notifyall()喚醒或者wait(long timeout)timeout時間到自動喚醒。
obj.notify()喚醒在此物件監視器上等待的單個執行緒,選擇是任意性的。notifyall()喚醒在此物件監視器上等待的所有執行緒。
java 執行緒的幾個方法
size large b thread的方法 b size size medium b sleep b 1.sleep 函式有乙個引數,通過引數可使執行緒在指定的時間內進入停滯狀態,當指定的時間過後,執行緒則自動進入可執行狀態。b blocked執行緒池 b 是進入阻塞狀態的執行緒,跟鎖沒有關係。2...
建立新執行緒的幾個主要方法
這裡面主要介紹了建立新執行緒的幾個方法,不討論實現執行緒有多少種的方法 public class testrunnableinte ce implements runnable public static void main string args 實現 runnable介面後,需要重寫它的 run...
執行緒的幾個有意思的方法
1.join 方法 字面意思就是 讓某個執行緒join 參加 加入 進來。即讓加入的那個執行緒執行,而當前正在執行的執行緒 呼叫的執行緒 阻塞,直到加入的執行緒執行完成。一句話 誰join進來就執行誰。沒有使用join時的情況 package threaddemo public class firs...