ホームページ  >  に質問  >  本文

java - Cas操作会加锁吗

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

怪我咯怪我咯2743日前703

全員に返信(1)返信します

  • 怪我咯

    怪我咯2017-04-18 10:54:40

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

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

    など リーリー

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

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

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

    返事
    0
  • キャンセル返事