java高併發程式設計之深入理解Thread建構函式

2021-09-20 10:07:49 字數 850 閱讀 3534

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的值為零的時候當前執行緒繼續執行。當不涉及同步,只是涉及執行緒通訊...