5
|
Orion Adrian · 技术社区 · 15 年前 |
![]() |
1
9
可能,但可能不是。 事件只能设置或取消设置,如果没有要取消设置的内容,则重复调用set不会更改其状态,除非它是自动重置事件,并且至少有一个线程在等待它。对于手动重置事件,任何等待(或开始等待)的线程都将被释放,直到有什么东西取消设置该事件为止。 我认为您实际上需要一个信号量,它有一个计数并支持设置 n 释放时间 n 线程(即使某些线程只在某些要设置的调用之后才开始等待)。 |
![]() |
2
3
这取决于
其中int是计数 一 这样做的方法。 |
![]() |
3
1
正如Richard所说,EventWaitHandles只有一个标志,不能计算调用设置的次数。添加一个计数变量的简单解决方案会导致一个竞争条件。 威廉·肯普夫有一个 article 关于为什么计数变量不起作用,以及使用.NET监视器类的解决方案。 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |
![]() |
user1700890 · 了解交互式代理Python API中的线程 2 年前 |
![]() |
AntonBoarf · 为什么要将实例变量指定给局部变量? 2 年前 |
![]() |
rhymes · 如何让线程操作相同的java列表 2 年前 |