java多線程編程總結

java多線程編程
1,java實現多線程要靠Thread或Runnable接口,這倆都是java.lang包下的,都包含一個run()方法,該方法中是線程要完成的任務代碼。java


2,經常使用方法有:Thread()構造方法建立線程、start()方法啓動線程、sleep()方法讓線程休眠、join()使其餘線程等待當前線程終止、yield()當前運行線程釋放處理器資源、currentThread()獲取當前運行線程的引用,每一個方法有各類重載,查api。編程

3,runnable是不具有start方法的,因此實現了runnable接口的業務類,仍是要被構形成Thread類進行啓動等調度控制。api

4,正確中止一個線程的方法,應該是設置標誌位,而不是直接調用stop方法(太粗暴),且不能用interrupt()方法退出線程,剛方法初中是中斷線程,若是該線程正在休眠,程序就不會中斷,且會拋出異常響應中斷。多線程

5,線程的互斥和同步,互斥經過synchronized關鍵字實現,該關鍵字能夠加在方法體上也能夠加在語句塊上,須要一個標誌的普通對象。
synchronized (Object lockObj) {爭用代碼體},而後根據業務邏輯設立wait和notify方法,解決同步通訊問題,使當前線程等待,其餘知足條件線程開始運行,注意這兩個方法都是Object類的。工具

6,java語言平臺的線程開發工具,都在java.util.concurrent包下
線程池ExecutorService、Callable、Future、BlockingQueue等類開發工具

相關文章
相關標籤/搜索