У меня несколько потоков, ожидающих одного и того же Condvar
, связанных с данными, заключенными в RwLock
. Я хотел бы позвонить Condvar::wait
и проверить условие после удержания блокировки записи данных, но кажется, что Condvar::wait
принимает только MutexGuard
в качестве аргумента. Поскольку есть много других частей, которые используют эти данные в качестве переменной только для чтения, я не могу просто заменить RwLock
на Mutex
.
Как мне использовать Condvar
вместе с RwLock
-обернутыми данными?