gpt4 book ai didi

winapi - 有没有办法找出Win32信号量的当前计数?

转载 作者:行者123 更新时间:2023-12-04 13:44:54 25 4
gpt4 key购买 nike

我正在寻找一种没有副作用的方法。

理想情况下,以下代码可以解决问题:

long currentCount = 0;  
::ReleaseSemaphore(h, 0, &currentCount);

但是遗憾的是,lReleaseCount的值不允许为0,因此该调用返回FALSE。

最佳答案

如果您想将该值用于外部监视(如您在注释中所建议),则可以在调用ReleaseSemaphore()或IMHO之后使用先前的值,更好的解决方案是除了使用信号量之外,您还可以实现自己的“互锁”计数器;然后,您便拥有了监视计数,并可以按照自己喜欢的任何方式对其进行访问...只是不要将其用作查看是否可以“输入”信号量的一种方式...

就像克里斯说的那样,您无法获得当前计数,因为它可能一直在变化。

关于winapi - 有没有办法找出Win32信号量的当前计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2754298/

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