ホームページ >Java >&#&チュートリアル >Java のさまざまなロック モードでのキュー ジャンプの動作分析。

Java のさまざまなロック モードでのキュー ジャンプの動作分析。

PHPz
PHPz転載
2023-04-23 09:13:171223ブラウズ

1. ReentrantReadWriteLock は公平ロックモードと不公平ロックモードを設定できます。

// 公平锁模式
ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock(true);
//非公平锁模式 默认情况
ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock(false);

公平なロックを取得する前に、readerShouldBlock() メソッドを確認し、書き込みロックを取得する前に、まず WriterShouldBlock() メソッドを確認してから、キューに入れるかキューにジャンプするかを決定します。

2. 不公平なロック モードでは、writerShouldBlock() と ReaderShouldBlock() が実装されています

final boolean writerShouldBlock() {
    return false; // writers can always barge
}
final boolean readerShouldBlock() {
    return apparentlyFirstQueuedIsExclusive();
}

不公平なロックは、書き込みロックを取得するときにキューをジャンプできます。ロックを読み取るときは、ポリシー決定を使用します。

以上がJava のさまざまなロック モードでのキュー ジャンプの動作分析。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。