如果您使用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. 未处理的ThreadAbortException发生 - 有时
- 6. Visual C++ CLR如何发送Windows消息?
- 7. 如何发送空值到clr函数?
- 8. ThreadAbortException在asp.net
- 9. ThreadAbortException调用OdbcDataReader.ExecuteReader()
- 10. ThreadAbortException in System.Net.UnsafeNclNativeMethods.OSSOCK.recv
- 11. w3wp.exe的崩溃 - ThreadAbortException
- 12. 如何在C++/CLR
- 13. CLR中的错误? CLR执行引擎失败
- 14. CLR上的功能开发
- 15. CLR触发器状态
- 16. 为什么ThreadAbortException不catch块
- 17. RedirectFromLoginPage上的异常ThreadAbortException
- 18. ASP.NET 2.0网站获取ThreadAbortException
- 19. 如何管理CLR版本的引用程序集
- 20. 如何在CLR字符串索引工作?
- 21. C# - CLR如何在继承期间组织内存/引用?
- 22. DLL如何由CLR加载?
- 23. 如何使用.NET CLR
- 24. 在后台线程上删除图像时发生ThreadAbortException。 ASP.NET 4
- 25. 如何从SQL Server 2012中调试CLR触发器
- 26. 如何获取SQL CLR触发器的“外部名称”?
- 27. CLR存储过程引用Websphere-MQ .dll
- 28. 在CLR 4.0中引入了哪些OpCodes?
- 29. VC++ .Net Clr/Safe和Clr/Pure
- 30. 如何重新引发SIGINT?