gpt4 book ai didi

c# - 唤醒线程以退出的最佳方法? C#

转载 作者:太空宇宙 更新时间:2023-11-03 19:35:10 24 4
gpt4 key购买 nike

我生成了一个线程(只有一个)来做一些工作,它几乎可以自己处理,不访问胎面之外的任何数据,除了调用 callback() 来查看用户是否想退出(也发送状态报告返回主线程以在 GUI 中显示)。

当 close 关闭 exe 时,我想唤醒线程并让它退出,最好的方法是什么?回调已经说明用户是否要退出,所以现在问题是使用 Thread.Sleep 并过早唤醒它,这样它就可以退出,而不是让进程再存活几秒钟或几分钟。此功能对于 stop 以更快地退出非常有用。

最佳答案

另一种方法如下:

在您的程序中有一个 ManualResetEvent 并在您希望线程完成并关闭时调用 Set。不要在工作线程上调用 Thread.Sleep,而是调用 event.WaitOne 并传入 TimeSpan 对象。如果发出事件信号,您的工作线程将在超时发生之前唤醒 - WaitOne 将返回 true

关于c# - 唤醒线程以退出的最佳方法? C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2138271/

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