pthreads带有螺旋锁的条件变量

时间:2013-11-12 20:36:50

标签: c multithreading pthreads

条件变量pthread_cond_t的pthreads实现使用pthread_mutex_t作为其锁定机制。我想不出为什么pthread_spinlock_t也不起作用的任何原因。但是因为这是C而不是C ++,我不能只像对互斥锁那样对待自旋锁。

所以我的问题是:

  • 为什么“条件变量”实现无法使用pthread_spinlock_t而不是pthread_mutex_t?
  • 那些代码是否存在于我可以查看和/或使用它的地方?

1 个答案:

答案 0 :(得分:0)

我认为不使用/配对螺旋锁的条件变量的原因reasons not to use spinlocks in general几乎相同。

但是,如果要实现自己的条件变量,则可以使用自旋锁而不是使用互斥锁进行配对。没有根本原因它不起作用。