rwlock [Was: Re: Uzivatelska pritulnost Linuxu (dlouhe)]

Stanislav Meduna stano na trillian.eunet.sk
Středa Květen 10 18:55:07 CEST 2000


In article <20000509133247.5E4A.0 na argo.troja.mff.cuni.cz> you wrote:

: Brani neco provadet synchronizaci mezi procesy pomoci zamykani
: souboru a synchronizaci v ramci jednoho procesu pomoci pthread
: mutexu a spol.? (Uznavam, ze je to trochu prace.)

To ma samozrejme napadlo tiez, ale to proste rozumne nejde
(a konkretne v danej aplikacii by bol overhead pravdepodobne
daleko vyssi nez to, co by som tym ziskal).

Je tu ale vaznejsi problem: pthreads mi garantuje, ze sa
writer dostane k lizu (pokial spravne interpretujem
nasledujuci trochu zmateny text - rozdiel medzi blocked
a waiting mi trochu unika):

> The pthread_rwlock_rdlock() function applies a read lock
> to the read-write lock referenced by rwlock. The calling
> thread acquires the read lock if a writer does not hold
> the lock and there are no writers blocked on the lock. 
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> It is unspecified whether the calling thread acquires
> the lock when a writer does not hold the lock and there
> are writers waiting for the lock. 
> ...
> Implementations are allowed to favour writers over
> readers to avoid writer starvation.

Toto IMHO pri "dvojstupnovej" implementacii zaistit nejde.

Zdravi
-- 
				Stano



Další informace o konferenci Linux