值为0的信号量同步



在UNIX操作系统中使用SysV信号量可以实现一种算法,在该算法中,进程等待信号量的值达到0(详细信息请参见man semop)。现在,每个人似乎都说使用其他同步api更好,所以我的问题是:如何使用pthread、POSIX信号量或其他类似的api获得相同的行为?如果不可能,我应该担心使用SysV信号量吗?

编辑:我指的是多线程场景,线程是使用pthreads创建的。

Sysv信号量对于多进程同步非常有用。替代品没有减少。

如果你有一个单独的进程并且使用线程,那么sysv信号量有很大的开销,并且在你不需要的时候消耗全局系统资源。我会简单地使用POSIX信号量。

最新更新