讲师回答说,wake_up()将遍历队列,唤醒所有非排他性进程,直到遇到排他进程,然后它就会唤醒最后一个进程并停止。例如,:让N、E分别表示等待队列中的非排他性和排他性进程:讲师声称前4个等待将被唤醒( The ),内核将在第一个E之后停止遍历。这听起来很奇怪,因为E是排他性的,这意味着它不想和其他人一起被唤醒,而在本例中,是与其他人一起唤醒的。
当等待队列“唤醒”时,将为调度程
[2013-Dec-03 08:01:13] job4 sleep 59962ms, wake at 08:02:13 ....请注意,根据时间戳,“唤醒”消息出现在“睡眠”消息之后大约60秒。有时,此setTimeout不会在预期时间唤醒。我说的不是几毫秒的错失率,甚至不是百分之几。job4 sleep 61297ms, wake at 07:17:12
[2013-Dec-03 08:01:08] job4</e