【发布时间】:2011-07-20 13:48:35
【问题描述】:
环境:
假设我有一个主应用程序:
- 监听任务请求,
- 一个接一个地执行这些任务(使用某些资源(在物理意义上)),
- 必须能够立即停止待处理的任务以释放资源。
我有两个计时器:
- 在
timer1标记上,应用程序正在检索新请求并将它们存储在Queue中, - 在
timer2滴答声中,应用程序将请求出列以在新的Thread中执行任务。
当用户要求停止所有任务以释放资源时,我打算简单地用Thread.Abort() 终止运行当前任务的线程。
问题:
我希望在从线程类中杀死线程时能够保存一些最后的配置。
问题:
有没有办法检测线程何时被杀死,比如Thread.OnAborting() 事件?
或者也许我可以在调用Thread.Abort() 方法时捕获ThreadAbortException 引发的问题? (如果是这样,我真的不知道该怎么做,你能提供一些代码示例吗?)
【问题讨论】:
标签: c# multithreading exception