Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
slim write/read lock 06.07.08 06:04
Автор: void <Grebnev Valery> Статус: Elderman
|
Пока не могу понять преимущество (а вообще говоря и возможность) использования SRWLOCK (Vista/Windows2008) в большинстве задач FIFO/LIFO (queue/list/stack/cyclic buffer и т.д.). Сложность в понимании в том, что в большинстве указанных задач, reader так или иначе изменяет состояние контейнера (pop.front для/change tail и т.д.). Это не возможно сделать только на AcquireSRWLockShared, но на AcquireSRWLockExclusive. Пример CQueue, из новой книжки Рихтера "Windows via C/C++, Fifth Edition" также вызывает сомнение, поскольку reader изменяет элемент CQueue.
Согласен, что SRWLOCK возможно даст перформанс в задачах где несколько читателейтолькочитают данные из контейнера, но это слабое утешение, поскольку крайне сужает круг практических задач.
Какие будут мнения? Как-так построить, скажем, queue, чтобы reader не менял состояние очереди?
|
|
|