1、程序和執行緒
2、執行緒的建立
1】d定義thread類的子類,並重寫該類的run
()方法,該方法的方法體就是執行緒需要完成的任務,run
()方法也稱為執行緒執行體。
2】建立thread子類的例項,也就是建立了執行緒物件
3】啟動執行緒,即呼叫執行緒的start
()方法
1】定義runnable介面的實現類,一樣要重寫run
()方法,這個run()方法和thread中的run
()方法一樣是執行緒的執行體
2】建立runnable實現類的例項,並用這個例項作為thread的target來建立thread物件,這個thread物件才是真正的執行緒物件
3】第三部依然是通過呼叫執行緒物件的start
()方法來啟動執行緒
3、
executorservice的生命週期包括三種狀態:執行、關閉、終止。建立後便進入執行狀態,當呼叫了shutdown()方法時,便進入關閉狀態,此時意味著executorservice不再接受新的任務,但它還在執行已經提交了的任務,當素有已經提交了的任務執行完後,便到達終止狀態。如果不呼叫shutdown()方法,executorservice會一直處在執行狀態,不斷接收新的任務,執行新的任務,伺服器端一般不需要關閉它,保持一直執行即可。
Java基礎筆記 執行緒部分
確認執行緒狀態 getstate方法 1.通過介面實現 建立執行緒介面類 public xx implements runnable 賦值執行緒 xx r new xx thread t new thread r 啟動 t.start 2.通過繼承實現 public xx extends threa...
多執行緒原理(部分)
volatile修飾的變數能夠保證可見性,但不保證原子性,每個執行緒能夠獲取該變數的最新值。對volatile修飾的詞,程式在編譯的時候,會多乙個lock彙編指令如下圖所示 該lock指令有兩個主要作用 jmm主要是通過設定記憶體屏障來禁止指令重排序,下圖是匯程式設計序中的四種記憶體屏障型別 屏障型...
swift 基礎部分
一 數值型字面量 整數字面量可以被寫作 1 乙個十進位制數,沒有字首 2 乙個二進位制數,字首是0b 3 乙個八進位制數,字首是0o 4 乙個十六進製制數,字首是0x let decimalinteger 17 let binaryinteger ob10001let octalinteger 0o...