Russian Qt Forum

Qt => Общие вопросы => Тема начата: Igors от Июль 16, 2010, 13:32



Название: Альтернативыа QReadWriteLock ?
Отправлено: Igors от Июль 16, 2010, 13:32
Добрый день

Мне нужна ф-циональность как QReadWriteLock: есть структура данных (а может и просто переменная). 2 и более нитки могут ее читать - и делают это очень часто. Однако в какой-то момент (редкая операция) нужно писать эти данные. Естественно нужно дождаться пока все нитки закончат чтение и заблокировать дальнейшие чтения до конца записи.

К сожалению, реализация QReadWriteLock меня никак не устраивает, т.к. время чтения у меня ничтожно (одна-две строки). Как видно из исходников, при таком раскладе QReadWriteLock работает со скоростью QMutex (убивая скорость). Можно ли выкрутиться при помощи атомарных операций?

Спасибо