Rumah >Java >javaTutorial >Analisis tingkah laku lompat barisan di bawah mod kunci yang berbeza di Jawa.

Analisis tingkah laku lompat barisan di bawah mod kunci yang berbeza di Jawa.

PHPz
PHPzke hadapan
2023-04-23 09:13:171223semak imbas

1. ReentrantReadWriteLock boleh menetapkan mod kunci adil dan mod kunci tidak adil.

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

Sebelum mendapatkan kunci adil, semak kaedah readerShouldBlock() Sebelum mendapatkan kunci tulis, semak kaedah writerShouldBlock() dahulu, dan kemudian tentukan sama ada hendak beratur atau melompat dalam baris gilir. .

2. Dalam mod kunci tidak adil, writerShouldBlock() dan readerShouldBlock() melaksanakan

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

Kunci tidak adil boleh melonjak baris gilir apabila memperoleh kunci tulis . Gunakan keputusan dasar semasa membaca kunci.

Atas ialah kandungan terperinci Analisis tingkah laku lompat barisan di bawah mod kunci yang berbeza di Jawa.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam