如果项目在线程池中,Windows服务器关闭

本文关键字:Windows 服务器 项目 线程 如果 | 更新日期: 2023-09-27 17:54:07

我想使用。net线程池或任务库,但我无法找到关于如果机器关闭线程会发生什么的任何信息。我的假设是,所有已添加但尚未完成的任务都将丢失。然而,也许我对并行任务或线程池有错误的想法。

场景很简单。我添加了一堆任务:

Task.Factory.StartNew(doSomeWork);

然后有人进来关掉这台机器。如果任务没有完成怎么办?机器是在等待,还是直接关机?是否有办法告诉它等待,直到它已经关闭?

如果项目在线程池中,Windows服务器关闭

你的应用程序需要专门监听系统事件,指示系统正在关闭,但它负责解决如何处理这个

在一天结束时,它不能阻止关机以完成任务(它也不应该)。如果您的应用程序需要确保所有任务都完成,那么它需要以某种方式记录哪些任务已完成,哪些任务仍然挂起,以便重新启动时可以继续。

有关处理关机通知的详细信息,请参阅MSDN关于系统事件的文章。