Java対応のロック分類

ロックカテゴリー

  • スピンロック:短い時間は、頻繁にコンテキストの切り替えは、それだけの価値がないときにスレッドの状態とコンテキストの切り替えは、システム・リソース、共有リソースへのアクセスを消費します。ロックを取得することができていない場合、我々は、ロックを取得しないと、スレッドを達成するため、JVM、それは、数サイクル後、空気循環の実現に有利に中断されていない、それが中断されます。
  • 彼らは、スレッドの準備完了状態に入ることができる前にブロックされた状態に、そのスレッドが実行可能状態に、すべてのスレッドを、対応する信号を取得する際に、待って(またはウェイクアップ時間)するのでを通じて、スレッドの動作状態を変更するブロッキング・ロック:ロックをブロックします競争は、運転に入りました。
  • リエントラントロック:サポートスレッドは、我々は部屋の鍵を持っているだけのように、あなたが同様の部屋を複数回入力することができ、バックロックになります。
  • 2つのロックに、書き込みロックとロックを読んで、排他的な書き込み、相互に排他的で、共有の読み取りを読み書き:ロックを書きます。
  • ミューテックス:トイレは、他の人が入って来てはいけない、ドア閉鎖後にドアを置きます。
  • 悲観的ロック:人は、このデータを取りたいので、常に、データ変更思考他の人は、そう、彼女はデータを取ったたびにロックされるだろう時間を取得し、最悪のケースを想定し、それを得るためにロックされるまでブロックされます。
  • オプティミスティック・ロック:他の人がデータを拾うたびに、それはロックされませんので、変更されませんが、更新はデータを更新しに行きませんでした。この時間の間にどのような他人を判断する時期は、バージョン番号のメカニズムを使用することができます。
  • フェアロックは:誰もが非常に公平の観点から正直に私たちのすべてをラインアップ。
  • アンフェアロック:一部の人が並んでますが、新規参入者がキューをジャンプすることがあります。
  • 偏ったロック:それはそこに競争のロックを解除するまでバイアスされたロック機構を使用する、別のスレッドが偏っ競争をロックしようとするので、ロックを解除します偏ったロックしているスレッドを開催しました。
  • 排他ロック:排他ロックモードでは、あなただけのロックを保持することができますつのスレッドを持つことができます。
  • 共有ロックは:複数のスレッドが同時にロック、共有リソースへの同時アクセスを獲得することができます。

おすすめ

転載: www.cnblogs.com/woxbwo/p/11441276.html