av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java - Cas操作會(huì)加鎖嗎

瀏覽:119日期:2024-01-12 09:39:59

問(wèn)題描述

java - Cas操作會(huì)加鎖嗎

問(wèn)題:(1)不需要cas操作來(lái)加鎖和解鎖,這個(gè)怎么理解??cas操作不是如果比較不成功那么就一直嘗試嗎?和加鎖有什么關(guān)系??這個(gè)該如何理解

問(wèn)題解答

回答1:

compare and swap操作不一定不需要鎖,看平臺(tái),但是大多數(shù)平臺(tái)都是支持無(wú)鎖cas的。最簡(jiǎn)單的鎖是通過(guò)test and set實(shí)現(xiàn)的自旋鎖,當(dāng)然通過(guò)cas也可以實(shí)現(xiàn)。

自旋鎖在上鎖失敗時(shí)的確會(huì)不斷嘗試,耗盡cpu資源。如

while (flag.test_and_set()) { /* yield; */ } // 上鎖flag.clear(); // 解鎖

系統(tǒng)接口提供的鎖,上鎖失敗時(shí)一般會(huì)掛起線程,類似

while (flag.test_and_set()) { flag.wait_for_unlock_signal(); } // 上鎖

這里的wait_for_unlock_signal()是個(gè)假想函數(shù)。但是上鎖依然依賴類似cas的原子操作。也就是說(shuō),現(xiàn)在鎖都是通過(guò)一些基本的原子操作來(lái)實(shí)現(xiàn)的,如test and set和compare and swap。

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 国产农村妇女aaaaa视频 | 国产网站视频 | 欧美视频一区二区三区 | 91成人精品 | 久久机热 | 中文字幕第一区综合 | 日韩小视频在线观看 | 福利小视频| 91性高潮久久久久久久久 | 久久国产亚洲 | 欧美一级欧美三级在线观看 | 亚洲精品色图 | 一区二区三区免费在线观看 | 国产成人综合视频 | 欧美精产国品一二三区 | 玖玖在线观看 | 日韩黄色录像 | 日韩免费视频一区二区 | 一区二区三区在线播放 | 免费看黄色av | 国产麻豆91| 国产伦精品| 美女免费视频网站 | 日韩欧美中文字幕在线观看 | 国产中文字幕在线 | 中文字幕精品一区久久久久 | 黄色片中文字幕 | 日韩av在线不卡 | 日韩8x8x| 色综合五月天 | 国产欧美精品一区二区色综合 | 在线观看欧美日韩视频 | 欧美日本在线观看 | av在线视 | 成人日韩在线 | 福利视频二区 | 久久久黄色片 | 在线观看视频一区二区三区 | 操小妹影院| 国产不卡在线观看 | 黄色大片视频 |