1

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

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

4

1 回答 1

0

Sysv 信号量非常适合多进程同步。替代品没有下降。

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

于 2011-07-28T15:08:59.007 回答