在 unix 上使用 semop() 函数,可以提供一个 sem_op =0 的 sembuf 结构。本质上,这意味着调用进程将等待/阻塞,直到信号量的值变为零。在 Windows 中是否有等效的方法来实现这一点?
我试图实现的具体用例是等到读者数量达到零后再让作家写。(是的,这是使用信号量的一种有点非正统的方式;这是因为对阅读器的数量没有限制,因此没有一组受限制的资源,而这正是信号量通常用来管理的)
关于 unix semop 系统调用的文档可以在这里找到: http ://codeidol.com/unix/advanced-programming-in-unix/Interprocess-Communication/-15.8.-Semaphores/