【发布时间】:2014-08-18 21:16:06
【问题描述】:
我正在使用 system.Thread.Timer 类来创建一个线程。在停止主 Windows 服务时,我想在 Windows 服务的 OnStop 事件中优雅地关闭所有这些子服务线程?
【问题讨论】:
-
你是在问我们你想做什么?
标签: c# multithreading
我正在使用 system.Thread.Timer 类来创建一个线程。在停止主 Windows 服务时,我想在 Windows 服务的 OnStop 事件中优雅地关闭所有这些子服务线程?
【问题讨论】:
标签: c# multithreading
有几种方法可以做到这一点。简而言之,您想“取消”或停止线程正在执行的工作。为此,您可以使用以下方法之一:
Thread 类,请使用 volatile bool 字段查看是否请求取消Task 类,请使用 Task 取消AutoResetHandle 或ManualResetHandle)和Thread
BackgrounWorker
不要使用thread.Abort,要了解更多搜索“线程中止是邪恶的”
【讨论】: