Rob*_*est 10 .net multithreading windows-services
我有一个Windows服务,它使用生产者/消费者队列模型,多个工作线程处理队列中的任务.这些任务可以运行很长时间,如果不是几小时,则按很多分钟的顺序运行,并且不涉及循环.
我的问题是关于处理服务停止以在这些工作线程上优雅地结束处理的最佳方法.我在另一个SO问题中读到,使用thread.Abort()是设计不良的标志,但似乎服务OnStop()方法在服务终止之前只有有限的时间完成.我可以在catchA中为ThreadAbortException做足够的清理(没有不一致状态的危险)所以在工作线程上调用thread.Abort()对我来说似乎没问题.是吗?有哪些替代方案?
| 归档时间: |
|
| 查看次数: |
9205 次 |
| 最近记录: |