【发布时间】:2023-03-16 12:09:01
【问题描述】:
我正在使用 System V 信号量,并希望在启动时阻止一个进程,并等待另一个进程在完成其关键部分后启动特定的信号量。
我认为 sem_op = 0 是正确的做法。
所以我用 1 初始化信号量。
然后在进程 A 处,需要阻止我使用 sem_op = 0 以等待信号量变为 0。
在进程 B 我使用 sem_op = -1。 (所以这使得 semaphore.val = 0)。
当对方成功关闭信号量时,应该被阻止的进程在标准输出上打印。
等待归零功能的实际作用是什么?如何正确使用它?
感谢您的宝贵时间!
【问题讨论】: