Day49執行緒,執行緒安全,執行緒池

2021-10-25 10:59:24 字數 1226 閱讀 9974

它可以是任意的物件 鎖物件``只是做乙個標記,只有持有鎖物件的執行緒才能夠進行到同步**塊。

class

saleticket

implements

runnable

catch

(interruptedexception e)

//判斷是否有鎖,如果有鎖則獲得鎖,進入**塊,否則,只有在**塊外等鎖

synchronized

(lock)

else

}//釋放鎖}}

;}}//判斷是否有鎖,如果有鎖則獲得鎖,進入**塊,否則,只有在**塊外等鎖

synchronized

void sell (

/* this */)}

//釋放鎖

//判斷是否有鎖,如果有鎖則獲得鎖,進入**塊,否則,只有在**塊外等鎖

synchronized

static

void sell2 (

/* saleticket.class */)}

//釋放鎖

//釋放鎖b 出房間2

}//釋放鎖a 出房間1}}

}private

static

class

task2

implements

runnable}}

}}public

static

void

main

(string[

] args)

}

程序 執行緒 執行緒安全 執行緒池的概念

1 程序 就是記憶體中的一段區域,這段區域中儲存了cpu執行的機器指令以及函式執行時的堆疊資訊,要想讓程序執行,就把main函式的第一條機器指令位址寫入pc暫存器,這樣程序就執行起來了。2 執行緒 main函式的特殊之處無非就在於是cpu執行的第乙個函式,除此之外再無特別之處,我們可以把pc暫存器指...

執行緒安全 執行緒不安全

執行緒安全是針對多執行緒來講的 如果所使用的公用變數在多執行緒下沒有被保護機制時,變數結果會和理論值不一致,這就是執行緒不安全 相反公用變數在保護機制下工作,就不會出現 隨機 變化,這時叫執行緒安全。執行緒安全 在多執行緒中使用時,不用自己做同步處理 執行緒不安全 在多執行緒中使用時,必須做執行緒同...

如何保證執行緒安全(執行緒同步)

基於衝突檢測的樂觀併發策略,通俗的說,就是先進行操作,如果沒有其他執行緒爭用共享資料,那操作就成功了。cas操作 compare and swap cas指令需要3個運算元,分別是記憶體位置v 舊的預期值a和新值b。cas指令執行時,當且僅當v符合舊的預期值a時,處理器用新值b更新v的值,否則它就不...