我是靠谱客的博主 迷路野狼,最近开发中收集的这篇文章主要介绍为什么调用thread.Abort(),线程不会马上停止,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

下面我们来解释一下Abort()方法是如何工作的。因为公用语言运行时管理了所有的托管的线程,同样它能在每个线程内抛出异常。Abort()方法能在目标线程中抛出一个ThreadAbortException异常从而导致目标线程的终止。不过Abort()方法被调用后,目标线程可能并不是马上就终止了。因为只要目标线程正在调用非托管的代码而且还没有返回的话,该线程就不会立即终止。而如果目标线程在调用非托管的代码而且陷入了一个死循环的话,该目标线程就根本不会终止。不过这种情况只是一些特例,更多的情况是目标线程在调用托管的代码,一旦Abort()被调用那么该线程就立即终止了。

转载于:https://www.cnblogs.com/kfx2007/archive/2012/04/20/2459107.html

最后

以上就是迷路野狼为你收集整理的为什么调用thread.Abort(),线程不会马上停止的全部内容,希望文章能够帮你解决为什么调用thread.Abort(),线程不会马上停止所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部