2010-08-11 7 views
1

Lorsque j'utilise lock() {...}, je ne peux pas garantir que le thread entrera en premier dans le verrou.Commande dans ReaderWriterLock

Qu'en est-il de ReaderWriterLock? Cela fonctionne-t-il comme une FIFO pour les auteurs ou non?

Répondre

2

Qu'en est-il de ReaderWriterLock? Cela fonctionne-t-il comme une FIFO pour les auteurs ou non?

Cela fonctionne.

Et vous payez une pénalité de performance pour cela, c'est pourquoi ReaderWriterLockSlim a été introduit — moins frais généraux mais ce n'est pas "juste".

+0

Alors ReaderWriterLock fait le FIFO, mais ReaderWriterLockSlim ne le fait pas? – Marcus

+0

Correct. la documentation 'RaaderWriterLock' couvre les détails (quand un écrivain laisse tous les lecteurs en attente entrer, quand ils ont tous terminé alors le plus long écrivain en attente, ...). – Richard