2.1 執行緒的命名
構造中含有string name引數的就表示執行緒的名字。
還可以呼叫thread 類的setname()方法重新命名
2.2 執行緒的父子關係
thread的所有建構函式,最終都會去呼叫乙個靜態方法init.
private
void
init
(threadgroup g,runnable target,string name,
long stacksize,accesscontrolcontext acc)
if(g == null)
}
如果沒有顯示的為thread指定乙個threadgroup,那麼子執行緒將會被加入父執行緒所在的執行緒組。
2.4 thread與runnable
thread負責執行緒本身相關的職責和控制,而runnable則負責邏輯執行單元的部分。
2.5 thread與jvm虛擬機器棧
2.5.1 thread與stacksize
2.5.2 jvm記憶體結構
2.6 守護執行緒
setdaemon()設定守護執行緒
如果乙個jvm程序中沒有乙個非守護執行緒,那麼jvm會退出,也就說守護執行緒具備自動結束生命週期的作用,而非守護執行緒不具備這個特點。
守護執行緒經常用作與執行一些後台任務,因此有時它也被稱為後台執行緒,當你希望關閉某些執行緒的時候,或者退出jvm程序的時候,一些執行緒能夠自動關閉,此時就可以考慮用守護執行緒為你完成這樣的工作。
併發程式設計之深入理解Lock介面
寫乙個執行緒不安全的 public class unsafethread public static void main string args catch interruptedexception e countdownlatch.countdown start while true 這裡的cou...
深入理解併發程式設計 FutureTask
本文為讀書筆記 可參考 futuretask jdk8實現 jkd1.8不再依賴aqs來實現,而是用的cas state 2.futuretask的使用 3.futuretask的實現 jkd1.8不再依賴aqs來實現 4.使用舉例 future介面和實現future介面的futuretask類,代...
Java高併發程式設計之CountDownLatch
儘管這是挺好的解決辦法,當絕對談不上最佳,本篇文章進一步講解更優的解決方案。使用latch 門閂 替代wait notify來進行通知,其好處是通訊方式簡單,同時也可以指定等待時間。countdownlatch不涉及鎖定,當count的值為零的時候當前執行緒繼續執行。當不涉及同步,只是涉及執行緒通訊...