条件变量pthread_cond_t的pthreads实现使用pthread_mutex_t作为其锁定机制。我想不出为什么pthread_spinlock_t也不起作用的任何原因。但是因为这是C而不是C ++,我不能只像对互斥锁那样对待自旋锁。
所以我的问题是:
答案 0 :(得分:0)
我认为不使用/配对螺旋锁的条件变量的原因与reasons not to use spinlocks in general几乎相同。
但是,如果要实现自己的条件变量,则可以使用自旋锁而不是使用互斥锁进行配对。没有根本原因它不起作用。