如何将POSIX信号量值设置为1?

时间:2015-08-24 19:53:16

标签: c posix semaphore binary-semaphore

我用c语言实现信号量。我有一个POSIX计数信号量。我想为它分配一个值。而且我不想使用等待或发布。我能这样做吗? 是否有任何函数,如" setValue"对于POSIX信号量?

1 个答案:

答案 0 :(得分:3)

如果您可以在正常操作期间直接更改其值(即初始化除外),它将不再是信号量。所以你可能正在寻找不同的东西,也许是一个线程安全的计数器/共享变量?这些更复杂的共享对象通过基本同步原语(如lock / mutex / semaphore / etc)进行规范实现。使用哪个取决于您要实施的内容。

OTOH,你可能会提出XY-problem。也许如果你陈述你真正想要实现的目标,我们可以指出你更好/更容易/解决方案。