Zkuste http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/int ro.html
z teto impelemntace se vychazelo pro balicek java.util.concurrent v Jave 5. J. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Radomir Sent: Tuesday, August 16, 2005 3:40 PM To: Java Subject: Read/Write locks 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 This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you.
