我试图找出是否有办法可靠地确定托管线程何时即将终止.我正在使用包含对PDF文档的支持的第三方库,问题是为了使用PDF功能,我必须显式初始化PDF组件,完成工作,然后在线程终止之前显式取消初始化组件.如果未调用uninitialize,则抛出异常,因为未正确释放非托管资源.由于线程类是密封的并且没有事件,我必须将线程实例包装到一个类中,并且只允许该类的实例来完成工作.
我应该指出,这是多个Windows应用程序使用的共享库的一部分.我可能无法始终控制线程调用此库.
由于PDF对象可能是对此库的调用的输出,并且由于调用线程可能会对该对象执行其他一些操作,因此我不想立即调用清理函数; 我需要尝试在线程终止之前做到这一点.理想情况下,我希望能够订阅Thread.Dispose事件,但这就是我所缺少的.