我正在用c语言实现信号量。我有一个POSIX计数信号量。我想给它赋值。我不想使用“等待”或“发布”。我可以这样做吗? POSIX Semaphore 是否有类似“setValue”的函数?
最佳答案
如果您可以在正常操作期间(即初始化除外)直接更改其值,那么它就不再是信号量了。所以您可能正在寻找不同的东西,也许是线程安全的计数器/共享变量?这种更复杂的共享对象通常使用基本同步原语来实现,例如锁/互斥体/信号量等。使用哪个取决于您想要实现的内容。
OTOH,您可能正在呈现 XY-problem 。也许如果您说出您真正想要实现的目标,我们可以为您指出更好/更简单/的解决方案。
关于c - 如何将 POSIX 信号量值设置为 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32190631/