void main()
{
.....
pthread_mutex_init(&lock)
pthread_create(fun,...)
pthread_create(fun,...)
pthread_create(fun,...)
}
void fun()
{
pthread_mutex_lock(&lock)
...........
pthread_mutex_unlock(&lock)
}
在上面的代码中,我创建了3个线程,调用相同的函数乐趣。我可以告诉你,执行乐趣比创建线程花费的时间长。所以最初有3个主题。但是第一个线程在锁定后已经执行了。现在第二和第三个线程正在等待。我的问题是一旦锁定被释放,哪个线程将被安排。它是第二个线程,然后是第三个或取决于调度程序。调度程序是否为等待的线程维护任何类型的队列并以FIFO方式对其进行调度?
答案 0 :(得分:0)
不,它不像FIFO一样工作。一个随机的线程将被唤醒。