gpt4 book ai didi

multithreading - 在.NET中启动 sleep 线程

转载 作者:行者123 更新时间:2023-12-04 18:16:36 26 4
gpt4 key购买 nike

如果一个线程正在休眠,那么另一个线程线程将如何调用threadA来启动?
请提供一个示例(如果可能)。

最佳答案

除了 sleep 之外,您还需要创建一个EventWaitHandle并在超时的情况下使用WaitOne

当您希望线程提早唤醒时,只需将事件设置为已通知。

首先创建EventWaitHandle:

wakeUpEvent = new EventWaitHandle(false, EventResetMode.ManualReset);

然后在您的线程中:
wakeUpEvent.WaitOne(new TimeSpan(1, 0, 0));

当主程序想提早唤醒线程时:
wakeUpEvent.Set();

注意:您可以将事件设置为自动重置或手动重置。自动重置意味着一旦WaitOne从事件中返回,它将把它设置回没有信号的状态。如果您处于循环中并且发出多次信号,这将很有用。

关于multithreading - 在.NET中启动 sleep 线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2260047/

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