为什么调用thread.Abort(),线程不会马上停止
生活随笔
收集整理的這篇文章主要介紹了
为什么调用thread.Abort(),线程不会马上停止
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
下面我們來解釋一下Abort()方法是如何工作的。因為公用語言運行時管理了所有的托管的線程,同樣它能在每個線程內拋出異常。Abort()方法能在目標線程中拋出一個ThreadAbortException異常從而導致目標線程的終止。不過Abort()方法被調用后,目標線程可能并不是馬上就終止了。因為只要目標線程正在調用非托管的代碼而且還沒有返回的話,該線程就不會立即終止。而如果目標線程在調用非托管的代碼而且陷入了一個死循環的話,該目標線程就根本不會終止。不過這種情況只是一些特例,更多的情況是目標線程在調用托管的代碼,一旦Abort()被調用那么該線程就立即終止了。
總結
以上是生活随笔為你收集整理的为什么调用thread.Abort(),线程不会马上停止的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在websphere部署完war包后出现
- 下一篇: Win2008 R2 VDI动手实验系列