gpt4 book ai didi

c# - Semaphore 上的等待线程数和工作线程数

转载 作者:行者123 更新时间:2023-11-30 20:10:02 26 4
gpt4 key购买 nike

有什么办法可以找到吗

  1. 有多少线程在等待信号量?
  2. 当前有多少线程占用了信号量?
  3. 如果我使用线程池线程等待信号量,如何让主线程等待线程池线程完成。

谢谢。

最佳答案

这是线程同步中的禁忌知识。因为完全不可能做到这一点。它代表无法解决的竞争条件。当您使用 Habjan 的方法时,您会得出结论,例如,有两个线程在等待。一微秒后,另一个 线程调用 WaitOne(),共有三个。但是您将根据该陈旧值(value)做出决定。

竞争条件没什么好惹的,调试起来非常困难。他们习惯于让您的代码每周只失败一次。一旦您添加检测代码以尝试诊断您的代码失败的原因,它们就会停止发生,因为添加的代码改变了时间。

永远不要这样做。

关于c# - Semaphore 上的等待线程数和工作线程数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5485538/

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