gpt4 book ai didi

linux - 如何撤销对信号量最近一次操作的SEM_UNDO?

转载 作者:太空宇宙 更新时间:2023-11-04 04:06:17 25 4
gpt4 key购买 nike

我的问题:A,B - 信号量。

进程是循环:

  1. 等待 A >= 1,递减 A
  2. 进行一些计算
  3. 增量 B。
  4. 回到 1。

目标:进程终止后,我需要 A 的减量等于 B 的增量。

所以我发现我将在 1 中添加标志 SEM_UNDO。但它会撤消该过程对 A 所做的每一个减量。当进程达到 4. 时,如何从 1. 撤销/撤消 SEM_UNDO?

最佳答案

好吧,当我将问题视为“撤消”SEM_UNDO 而不是“撤销”它时,我受到了启发。

通过 SEM_UNDO 操作 +x 调用 semop() 后,您可以稍后通过两个操作再次调用 semop() 来撤消 SEM_UNDO:

  1. -x 与 SEM_UNDO
  2. +x 没有 SEM_UNDO

关于linux - 如何撤销对信号量最近一次操作的SEM_UNDO?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21057454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com