Ahoj,

  nemate nekdo prosim zkusenosti s implementaci read/write locks? Potrebuju 
idealne nasledujici:

* kontrola pristupu threadu k objektu read/write zamek
* detekce timeoutu
* detekce "mtrvych" threadu, ktere drzi lock
* detekce deadlocku (idealne vypnutelna, napr. pouziti jen v testovacim 
rezimu)
* maximalne dosazitelna propustnost a bezpecnost - znacna zatez!
* Java 1.4

Pro inspiraci jsem se dival na kody jako napr. toto: 
* http://www.concentric.net/~Ttwang/tech/rwlock.htm
(existuje v nekolika variantach) 
tam se mi nezda (mimo jine) jedna vec, konkretne v metode lockWrite() - radky 
69 a 70 - tady konci synchronized(this) a zacina 
synchronized(this.writerQueue). Thread detekuje, ze je objekt zamceny a 
prechazi na cekani. Rekneme, ze mezi temito radky jiny thread objekt odemkne, 
tedy zavola synchronized releaseLock(). Nic mu nebrani, zamek uvolni a zavola 
notify() jenomze prvni thread jeste nezacal cekat. Takze to skonci tim, ze 
bude zbytecne cekat - v tomto pripade 3 vteriny.

* http://www.java2s.com/ExampleCode/Threads/Lockforreadandwrite.htm
(opet nekolik variant)
tento pristup se mi zase zda neefektivni. Napr. pri odemceni jsou "probuzeny" 
vzdy vsechny cekajici thready i kdyz napr. zustava zamek pro cteni a tedy 
thready cekajici na zapis nemohou pokracovat. JInymy slovy - neexistuje 
oddelena fronta cekajicich na zapis nebo na cteni.

  Diky!

        Radomir Svancer

Odpovedet emailem