我有一个线程正在分析文件并对数据库进行事务调用,每个事务都有一个审计条目作为其事务的一部分。调用 Thread.Abort() 来停止文件的处理有什么大问题吗?而不是到处散布丑陋的安全点?
文件将在 Abort 调用后关闭。
明显的问题是放弃交易的风险,这可能会导致不确定时间(或直到超时)的阻塞。但你可以抛开一切sorts混乱不堪 - 无法恢复Monitor
锁、信号量等、内存泄漏等。
简而言之:尽可能避免必须中止线程,除非您知道exactly它当时在做什么。你知道它在做什么的唯一方法是它是否已经处于已知的“安全点”(用你的术语) - 所以你不妨抛出一个异常或其他东西,并让它以受管理的方式自行提升。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)