我有一个库来管理构建在.NET 3.5上的线程。当我尝试将其升级到.NET 4.0时,根据Thread.Abort方法,某些单元测试失败。线程中止状态问题
简而言之,这些单元测试将从创建到停止跟踪线程状态。当线程正在中止时,这些单元测试会跟踪状态,从运行 - >中止请求 - >中止 - >已停止。使用VS2008或VS2010,该序列在.NET 3.5上完全相同。直到我将其升级到VS2010上的.NET 4.0之后,单元测试失败。结果是线程保持中止状态。
我已经检查MSDN有关Thread.Abort的,这里是的话,“中止后,在一个线程调用线程的状态包括AbortRequested后的线程终止作为一个成功的调用的结果中止,线程的状态更改为已停止。“
有没有人有同样的问题? .NET 4.0线程行为是否正确?如果线程处于中止状态,它是否有任何影响?