线程安全
線程安全的三種:
1. 不在線程之間共享可變的狀態(tài)變量。
2. 將共享可變的狀態(tài)變量修改為不可變的變量。
3. 在訪問(wèn)狀態(tài)變量時(shí)使用同步。
線程安全實(shí)現(xiàn)方式:
1. 無(wú)狀態(tài)對(duì)象一定是線程安全。如servlet不使用任何全局變量。
2. 原子性,導(dǎo)致原子性的場(chǎng)景:競(jìng)態(tài)條件如計(jì)數(shù)器,延遲初始化;應(yīng)用原子性的場(chǎng)景是少量原子變量且不相關(guān)。
3.加鎖機(jī)制,當(dāng)在不變性條件中涉及到多個(gè)變量時(shí),各個(gè)變量之間并不是彼此獨(dú)立的,而是某個(gè)變量的值會(huì)對(duì)其它變量的值產(chǎn)生約束。
?? 內(nèi)置鎖synchonized block來(lái)支持原子性,線程重入。
轉(zhuǎn)載于:https://www.cnblogs.com/davidwang456/p/3439835.html
總結(jié)
- 上一篇: 最好的编程名言,大家一起来共勉----转
- 下一篇: kill -3 获取threaddump