java - Cas操作会加锁吗
怪我咯
怪我咯 2017-04-18 10:52:40
0
1
733

问题:
(1)不需要cas操作来加锁和解锁,这个怎么理解??cas操作不是如果比较不成功那么就一直尝试吗?和加锁有什么关系??这个该如何理解

怪我咯
怪我咯

走同样的路,发现不同的人生

全員に返信(1)
刘奇

プラットフォームによっては、比較および交換操作にロックが必要ない場合がありますが、ほとんどのプラットフォームはロックフリーの CAS をサポートしています。最も単純なロックは、テストとセットによって実装されるスピン ロックです。もちろん、cas によって実装することもできます。

スピンロックはロックが失敗しても試行を続け、CPU リソースを使い果たします。

など リーリー

システム インターフェイスによって提供されるロックは、通常、ロックが失敗すると、

と同様にスレッドを一時停止します。 リーリー

ここでのwait_for_unlock_signal()は虚数関数です。しかし、ロックは依然として cas のようなアトミック操作に依存しています。言い換えれば、ロックは、テストと設定、比較と交換などのいくつかの基本的なアトミック操作を通じて実装されるようになりました。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート