Java7併發程式設計實戰(一) 執行緒的等待

2021-09-09 01:27:30 字數 1054 閱讀 1558

試想乙個情景,有兩個執行緒同時工作,還有主線程,乙個執行緒負責初始化網路,乙個執行緒負責初始化資源,然後需要兩個執行緒都執行完畢後,才能執行主線程

首先建立乙個初始化資源的執行緒

public

class datasourcesloader implements

runnable

catch

(interruptedexception e)

//writes a message

system.out.printf("data sources loading has finished: %s\n",new

date());}}

view code

然後建立乙個初始化網路的執行緒

public

class networkconnectionsloader implements

runnable

catch

(interruptedexception e)

//writes a message

system.out.printf("network connections loading has finished: %s\n",new

date());}}

view code

通過timeunit.seconds.sleep()方法; 進行休眠,

然後主線程執行,通過join方法,當乙個執行緒物件的join方法被呼叫時,呼叫他的執行緒將會被掛起,知道這個執行緒來完成這些初始化任務,我們在主線程分別呼叫兩個thread的join方法,那麼主線程會等到兩個執行緒都執行完畢才會執行下去。

public

class

main

catch

(interruptedexception e)

//waits a message

system.out.printf("main: configuration has been loaded: %s\n",new

date());}}

Java7併發程式設計實戰(一) 執行緒的管理

1 繼承thread類,並且覆蓋run 方法 2 建立乙個實現runnable介面的類。使用帶引數的thread構造器來構造 2 example 計算列印乘法表 首先建立乙個calculator類,實現runnable介面 public class calculator implements run...

Java7併發程式設計實戰(一) 執行緒的中斷

控制線程中斷的方法一般常規是定義乙個布林值,然後while 布林值 去執行,當想停止該執行緒時候,把布林值設為false.這裡我們來看第二種,interrupt interruptedexception 異常public class test implements runnable catch in...

JAVA7併發程式設計手冊筆記

isinterrupted 不能改變interrupted屬性值,只是返回這個屬性的值 thread類的靜態方法interrupted設定interrupted屬性為false。推薦使用isinterrupted deuqe 雙端佇列 uncaughtexceptionhandler介面 實現 un...