如何将 Condvar 与 RwLock 一起使用?

Yan*_*ang 8 multithreading rust

我有几个线程正在等待Condvar与包装在RwLock. 我想Condvar::wait在持有数据写入锁定后调用并检查条件,但它似乎Condvar::wait只接受MutexGuard作为参数。由于还有许多其他部分使用此数据作为只读变量,因此我不能简单地替换RwLockMutex.

我应该如何CondvarRwLock-wrapped 数据一起使用?

Gys*_*cos -1

有关将 a与 一起使用的示例,请参阅https://github.com/Amanieu/parking_lot/issues/165CondVarRwLockGuard