gpt4 book ai didi

c# - 我可以停止 System.Threading.Timer

转载 作者:太空狗 更新时间:2023-10-29 21:02:34 31 4
gpt4 key购买 nike

我有一个应用程序使用定时器偶尔在辅助线程上运行监控任务。其中一些清理任务会花费很多时间,我希望能够在我的用户结束程序时中止这些任务(如果可能的话,优雅地中止)。

是否有任何方法可以像使用 Thread.Abort() 一样以编程方式中止线程,或者我是否必须向代码添加一个标志以指示线程已完成并在代码中的多个位置检查它那是由定时器启动的?

最佳答案

您可以使用 .change 在它的回调执行之前停止计时器,但是一旦回调开始执行,您应该使用应用程序级别的标志来允许您的代码退出。

作为旁注,你不应该使用 thread.abort() 除非你绝对 100% 确定你知道它将被留在的状态。它会严重破坏你的稳定以奇怪的方式应用。

关于c# - 我可以停止 System.Threading.Timer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8316348/

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