如何在.dll卸载上停止一个线程

时间:2012-07-18 12:56:36

标签: c# multithreading dll

我有一个场景,其中.dll启动一个工作线程,监视.dll的某些活动。它是某种类似垃圾收集的东西,在一段时间不活动后清理内部缓存中的元素。

现在的问题是:我有一个代码在一个特殊的函数Shutdown中停止这个线程,但是......这并不总是被调用。它被称为我编写的1-2个应用程序,但是使用单元测试第三方工具,例如: g。,我不能调用这个方法,因为我运行了一个任意的测试子集。

此外,我尝试将此类代码挂钩到AppDomain DomainUnload事件 - 这也不会被调用。

AppDomain.CurrentDomain.DomainUnload += new EventHandler(
    (o, e) => Shutdown() );

如何处理?为了使这项工作需要任何其他“设计”/方法?

0 个答案:

没有答案
相关问题