試想乙個情景,有兩個執行緒同時工作,還有主線程,乙個執行緒負責初始化網路,乙個執行緒負責初始化資源,然後需要兩個執行緒都執行完畢後,才能執行主線程
首先建立乙個初始化資源的執行緒
publicview codeclass datasourcesloader implements
runnable
catch
(interruptedexception e)
//writes a message
system.out.printf("data sources loading has finished: %s\n",new
date());}}
然後建立乙個初始化網路的執行緒
publicview codeclass networkconnectionsloader implements
runnable
catch
(interruptedexception e)
//writes a message
system.out.printf("network connections loading has finished: %s\n",new
date());}}
通過timeunit.seconds.sleep()方法; 進行休眠,
然後主線程執行,通過join方法,當乙個執行緒物件的join方法被呼叫時,呼叫他的執行緒將會被掛起,知道這個執行緒來完成這些初始化任務,我們在主線程分別呼叫兩個thread的join方法,那麼主線程會等到兩個執行緒都執行完畢才會執行下去。
publicclass
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...