首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CLR如何提升ThreadAbortException?

CLR如何提升ThreadAbortException?
EN

Stack Overflow用户
提问于 2011-04-22 17:35:27
回答 2查看 363关注 0票数 1

如果您使用Thread.Abort从一个托管线程中止另一个托管线程,那么CLR实际上是如何在另一个线程上引发异常的?看起来像是一个巧妙的把戏!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-03 17:43:54

我在这个主题上找到了一些有趣的链接。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
EN

Stack Overflow用户

发布于 2011-06-15 09:02:15

前段时间我写了一篇关于这个的博文。第一部分是关于何时可以中止线程,第二部分是关于线程的实际工作方式。

我从来没有看到过任何关于它实际工作原理的正确(在本例中是完整的)文档,所以我写了关于它的文章。

关键是,如果你的线程没有处于可中止的等待状态,CLR将使用SetThreadContext (一种win32应用程序接口)来劫持你的当前IP,并将你移到一个特殊的存根中来设置线程中止。

Check out the post here

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5754162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档