Chinaunix

标题: 互斥锁的一个问题 [打印本页]

作者: pengxihan    时间: 2012-06-18 22:59
标题: 互斥锁的一个问题
有两个线程:
线程1:

while (1) {
  
   pthread_mutex_lock(&lock);
   do_things1();
   pthread_mutex_unlock(&lock);
}


线程2:

while (1) {
  
   pthread_mutex_lock(&lock);
   do_things2();
   pthread_mutex_unlock(&lock);
}


可能是线程1的优先级高于线程2,按照互斥锁释放后唤醒等待队列中优先级较高的线程,那么当线程1释放锁后,又重新申请锁,很可能线程2一直得不到该锁,虽然它一直处于申请状态。

我的问题能否改变唤醒策略,谁先进入等待队列就先唤醒谁呢?而不是按照线程优先级来。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2