Jesteś tutaj
Reader Writer Lock
Poluję na reader writer lock spełniający następujące wymagania:
- C++/Win32/32bit
- Readers reentrancy.
Jeśli dany wątek ma reader-lock w metodzie i woła inną metodę w tym samym wątku to ta metoda może wząść reader-lock ponownie (innymi słowy czytelnik może wziąść sekcję czytania wielokrotnie). - Writer reentrancy.
Jeśli dany wątek ma writer-lock w metodzie i woła inną metodę w tym samym wątku to ta metoda może wząść writer-lock ponownie (innymi słowy czytelnik może wziąść sekcję czytania wielokrotnie). - Hierachy WR.
Jeśli dany wątek ma writer-lock to może wziąść reader-lock. - Hierachy RW.
Jeśli dany wątek ma reader-lock to może wziąść writer-lock (chyba marzenie, nie wiem czy to do osiągnięcia bez dead-lock'ów). - Weakening of writer-lock.
Jesli wątek ma writer-lock to może go osłabić i zamienić na reader-lock (nie wymagane, mile widziane). - Preferences.
Nie daje preferencji ani pisarzom ani czytelnikom (jeśli już trzeba to niech preferuje pisarzy). - TryEnter
Metody w stylu try-enter mile widziane zarówno dla czytelnika jak i dla pisarza. - Timeouts
Timeouty do czekania mile widziane zarówno dla czytelnika jak i dla pisarza. - Fairness
"fairness", sprawiedliwość nie jest wymagana choć jeśli by była to bym nie płakał - Starvation
Zagłodzenie. Nie mile widziane choć akceptowalne.
Troszkę literatury:
http://en.wikipedia.org/wiki/Readers-writers_problem
http://blogs.msdn.com/vancem/archive/2006/03/28/563180.aspx
http://blogs.msdn.com/vancem/archive/2006/03/29/564854.aspx
http://www.cs.rochester.edu/research/synchronization/pseudocode/rw.html
http://msdn.microsoft.com/en-us/magazine/cc163532.aspx
http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/locks/ReadWriteLock.html
http://java.sun.com/javase/6/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.html
http://code.activestate.com/recipes/413393/
http://tutorials.jenkov.com/java-concurrency/read-write-locks.html
http://www.cs.ru.nl/bachelorscripties/2007/Bernard_van_Gastel___Reliability_of_a_read-write_lock_implementation.pdf
http://www.jdocs.com/transaction/1.1/org/apache/commons/transaction/locking/ReadWriteLock.html
http://www.boost.org/doc/libs/1_39_0/doc/html/thread/synchronization.html
Dodano 2010-06-24:
http://cit.srce.hr/index.php/CIT/article/viewFile/1561/1265
http://www.cs.arizona.edu/classes/cs522/spring09/papers/rw.pdf
- Blog
- 344 odsłony

Odpowiedz