【发布时间】:2014-01-11 01:34:06
【问题描述】:
我的问题: A,B - 信号量。
流程是循环:
- 等待 A >= 1,递减 A
- 做一些计算
- 增量 B.
- 回到 1。
目标:进程终止后,我需要 A 的减量等于 B 的增量。
所以我想我会在 1 中添加标志 SEM_UNDO。但它会撤消该过程对 A 所做的每个 DEcrement。当进程达到 4. 时,如何从 1. 撤销/撤消 SEM_UNDO?
【问题讨论】:
-
如果
A和B最后不匹配,你的问题比SEM_UNDO 更大。似乎您有点误解信号量在事物中的作用。你给我们看一些代码怎么样,我们可以帮你弄清楚如何避免这些扭曲。