它可以是任意的物件 鎖物件``只是做乙個標記
,只有持有鎖物件的執行緒才能夠進行到同步**塊。
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的值,否則它就不...