我正在使用 System V 信号量,并希望在启动时阻止一个进程,并在完成其关键部分后等待另一个进程启动特定的信号量。
我认为 sem_op = 0 是正确的做法。
所以我用 1 初始化信号量。
然后在进程 A,需要阻止我使用 sem_op = 0 以等待信号量变为 0。在进程 BI 使用 sem_op = -1。(所以这使得 semaphore.val = 0)。
当另一个成功关闭信号量时,应该阻止的进程在标准输出上打印。
等待零功能实际上做了什么,我该如何正确使用它?
感谢您的时间!