如果您使用Thread.Abort中止另一個託管線程,CLR如何在另一個線程上實際拋出異常?看起來像一個整潔的把戲!CLR如何引發ThreadAbortException?
1
A
回答
1
我發現了一些關於這個主題的有趣鏈接。 ThreadAbortException是一種特殊情況,它由CLR特別處理。
http://mnikoo.net/2007/02/07/the-magic-of-the-clr-threadabortexception/
http://blogs.msdn.com/b/clrteam/archive/2009/04/28/threadabortexception.aspx
1
我寫了一篇博客文章在這一段時間回來。第一部分是關於什麼時候線程可以中止,第二部分是關於它如何實際工作。
我從來沒有見過任何正確的(在這種情況下,完整)關於它如何實際工作的文檔,所以我寫了關於它。
jist是CLR將使用SetThreadContext(一個win32 api)來劫持你當前的IP,並將你移動到一個特殊的存根(stub)來設置線程中止,如果你的線程不在中止等待。
相關問題
- 1. 爲什麼CLR重新拋出ThreadAbortException?
- 2. 在Thread.Sleep期間能否引發ThreadAbortException?
- 3. ThreadAbortException
- 4. 如何從SQL CLR項目中引用非SQL CLR項目?
- 5. 如何避免在C++非clr與clr dlls之間引發異常時發生內存泄漏?
- 6. 未處理的ThreadAbortException發生 - 有時
- 7. 空引用在CLR
- 8. Visual C++ CLR如何發送Windows消息?
- 9. 如何發送空值到clr函數?
- 10. ThreadAbortException調試
- 11. ThreadAbortException調用OdbcDataReader.ExecuteReader()
- 12. ThreadAbortException in System.Net.UnsafeNclNativeMethods.OSSOCK.recv
- 13. system.threading .threadAbortException錯誤
- 14. ThreadAbortException在asp.net
- 15. DotNetOpenAuth.OpenId.RelyingParty.IAuthenticationRequest RedirectToProvider()ThreadAbortException
- 16. 進度條和ThreadAbortException
- 17. w3wp.exe的崩潰 - ThreadAbortException
- 18. 導出到Excel - ThreadAbortException
- 19. 如何在C++/CLR
- 20. CLR觸發器狀態
- 21. CLR上的功能開發
- 22. ThreadAbortException的大量使用
- 23. C# - ThreadAbortException重新拋出
- 24. ASP.NET 2.0網站獲取ThreadAbortException
- 25. 爲什麼ThreadAbortException不catch塊
- 26. visual studio does not catch ThreadAbortException
- 27. RedirectFromLoginPage上的異常ThreadAbortException
- 28. 如何管理CLR版本的引用程序集
- 29. 如何從clr類型獲得Raven DB索引名稱
- 30. C# - CLR如何在繼承期間組織內存/引用?