我有一個庫來管理構建在.NET 3.5上的線程。當我嘗試將其升級到.NET 4.0時,根據Thread.Abort方法,某些單元測試失敗。線程中止狀態問題
簡而言之,這些單元測試將從創建到停止跟蹤線程狀態。當線程正在中止時,這些單元測試會跟蹤狀態,從運行 - >中止請求 - >中止 - >已停止。使用VS2008或VS2010,該序列在.NET 3.5上完全相同。直到我將其升級到VS2010上的.NET 4.0之後,單元測試失敗。結果是線程保持中止狀態。
我已經檢查MSDN有關Thread.Abort的,這裏是的話,「中止後,在一個線程調用線程的狀態包括AbortRequested後的線程終止作爲一個成功的調用的結果中止,線程的狀態更改爲已停止。「
有沒有人有同樣的問題? .NET 4.0線程行爲是否正確?如果線程處於中止狀態,它是否有任何影響?