这些类是具有无等待端的队列,在这里,一个NHRT可以请求读或写某些数据(具体取决于类),而不存在阻塞的风险。
These are queues that have a wait free side where an NHRT can request to read or write some data (depending on the class) without the danger of blocking.
当队列是空的时候,读线程现在并不抛出异常,而是在条件变量上阻塞自身。
Instead of throwing an exception when the queue is empty, the reader thread now blocks itself on the condition variable.
第一个读线程锁住互斥锁,发现队列是空的,然后在 _cond 上阻塞自身,这会隐式地释放互斥锁。
The first reader thread locked the mutex, realized that the queue is empty, and blocked itself on _cond, which implicitly released the mutex.
应用推荐