Java多執行緒排程方法

2021-06-29 05:52:00 字數 876 閱讀 5847

1、sleep()方法——休眠

執行緒休眠的方法是:thread.sleep(long millis) 

thread.sleep(long millis, int nanos)

執行緒休眠的目的是使執行緒讓出cpu的最簡單的做法之一,執行緒休眠時候,會將cpu資源交給其他執行緒,以便能輪換執行,當休眠一定時間後,執行緒會甦醒,進入準備狀態等待執行。

2、yield()方法——讓步

執行緒的讓步使用thread.yield()方法,yield() 為靜態方法,功能是暫停當前正在執行的執行緒物件,並執行其他執行緒。如果有多個執行緒,具體把許可權讓給誰了,它不知道。

3、join()方法——合併/聯合

乙個執行緒a在占有cpu資源期間,可以讓其他執行緒呼叫join()和本執行緒聯合,如b.join()

我們稱a在執行期間聯合了b。如果執行緒a在占有cpu資源期間一旦聯合b執行緒,那麼a執行緒將立刻中斷執行,一直等到它聯合的執行緒b執行完畢,a執行緒再重新排隊等待cpu資源,以便恢復執行。如果a準備聯合b執行緒已經結束,那麼b.join()不會產生任何效果。

public class jointest

}class threadjoin implements runnable

@override

public void run()

catch (interruptedexception e)

}} else if (thread.currentthread().getname().equals("b"))

} }}

執行緒不合併的一種情況,交替執行。

threadb.join()之後,threada暫停執行,將threadb執行完之後再執行threada。

Java多執行緒 執行緒排程Join

public final void join throws interruptedexception 等待該執行緒終止。public final void join long millis throws interruptedexception 等待該執行緒終止的時間最長為 millis 毫秒。超時...

Java多執行緒 執行緒的排程 讓步

執行緒的讓步含義就是使當前執行著執行緒讓出cpu資源,但是扔給誰不知道,僅僅是讓出,執行緒狀態回到可執行狀態。執行緒的讓步使用thread.yield 方法,yield 為靜態方法,功能是暫停當前正在執行的執行緒物件,並執行其他執行緒。package cn.thread 執行緒的排程 讓步 auth...

Java多執行緒 執行緒的排程 優先順序

與執行緒休眠類似,執行緒的優先順序仍然無法保障線程的執行次序。只不過,優先順序高的執行緒獲取cpu資源的概率較大,優先順序低的並非沒機會執行。執行緒的優先順序用1 10之間的整數表示,數值越大優先順序越高,預設的優先順序為5。在乙個執行緒中開啟另外乙個新執行緒,則新開執行緒稱為該執行緒的子執行緒,子...