gpt4 book ai didi

c# - AutoResetEvent.Set() 是做什么的?

转载 作者:太空狗 更新时间:2023-10-29 21:08:22 26 4
gpt4 key购买 nike

如果我这样做:

private static System.Threading.AutoResetEvent event_2 = new System.Threading.AutoResetEvent(false);

然后在主线程中我做:

event_2.Set();

它将状态从 false 更改为 true

如果是这样,基本上可以:

AutoResetEventState = !AutoResetEventState 

?

最佳答案

它将状态设置为允许线程在 Wait() 上继续执行的状态。

如果有任何线程已经在等待,那么一个线程将被允许继续进行并且状态将立即设置为未设置,因此所有其他线程将继续阻塞。

如果当前没有线程在等待,那么第一个等待的线程将立即被允许通过,但后续线程将被阻塞。

其他 EventWaitHandle 派生类共享相同的通用机制,但允许线程进行时的自动重置与 ManualResetEvent 不同,因此得名。

如果 true 传递给构造函数,则初始状态发出信号(允许线程前进),如果传递 false 则不发出信号,因此传递 true 与您在构造后立即调用 Set() 相同,而传递 false 则与您调用 Reset 相同()

关于c# - AutoResetEvent.Set() 是做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33037396/

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