Linux“;sem“等待”;伪代码?

Linux“;sem“等待”;伪代码?,linux,Linux,我真正想知道的是sem\u wait()是否为“不忙等待”。如果线程在sem\u wait()中等待请求的资源,它是否会浪费CPU周期?通常,同步原语会将线程添加到等待队列,然后将其置于睡眠状态。当资源可用时,它会唤醒一个或多个线程,这些线程随后将再次尝试请求,并且可能会或可能不会恢复睡眠,这取决于它们是否获取了请求的资源。否,semu wait不忙等待。如果需要阻止,它将暂停进程。

我真正想知道的是
sem\u wait()
是否为“不忙等待”。如果线程在
sem\u wait()

中等待请求的资源,它是否会浪费CPU周期?通常,同步原语会将线程添加到等待队列,然后将其置于睡眠状态。当资源可用时,它会唤醒一个或多个线程,这些线程随后将再次尝试请求,并且可能会或可能不会恢复睡眠,这取决于它们是否获取了请求的资源。

否,
semu wait
不忙等待。如果需要阻止,它将暂停进程。