Definition von Java Mutex: ReentrantLock

Happyman0815

Mitglied
Hallo Leute!

Ich habe eine Frage zur Klasse ReentrantLock. Ich möchte Threads miteinander synchronisieren und weiß gerade nicht, ob ReentrantLock eine interne Warteschleife aufbaut. Es konkurieren bei mir immer ca. 10 Threads miteinander und es soll nicht immer einer auf der Strecke bleiben müssen, weil die anderen immer drankommen.

Wisst Ihr da näheres?

Java:
final static Lock sync      = new ReentrantLock();
sync.lock();
//... Code des kritischen Bereichs
sync.unlock();


Gruß
Happy
 
Du kannst das Fairness-Flag des Locks setzen. Übergib im Konstruktor einfach true.
Siehe API-Dokumentation.
 
Wobei die Fairness den Durchsatz drastisch verringert, aber eben dafür garantiert, dass kein Thread verhungert.
 

Zurück
Oben