4
A
回答
12
當然,你可以這樣做:
Thread.CurrentThread.Abort();
按理說中止當前線程是唯一一種中止那是安全的,因爲它是你真的瞭解在它在做什麼方面的唯一線索。例如,這就是HttpResponse.End
所做的。
這不是我通常會建議 - 基本上,它的完成,因爲除非你明確地調用Thread.ResetAbort
,該ThreadAbortException
將沿着調用堆棧無論catch塊的 - 這是一種在這個意義上「尤伯杯異常」的。
相關問題
- 1. 從另一個線程終止C++中的線程
- 2. 中止一個線程?
- 3. 終止線程池中的線程
- 4. 在兩個線程中同時中止()
- 5. 停止從主線程主線程
- 6. 從其他線程停止線程
- 7. 中止.NET線程
- 8. 程序在線程中止
- 9. 從同一進程的線程中kill所有線程和進程
- 10. Python:在一個線程中停止另一個線程從另一個線程結束
- 11. 在同步塊中停止線程
- 12. ExecuterService停止處理兩個線程中的一個線程
- 13. 停止線程從另一個線程c偵聽TcpClient#
- 14. 從事件派發線程(EventQueue)停止另一個線程
- 15. 從主線程中查殺線程
- 16. Java中的子線程是否阻止父線程終止?
- 17. Java:停止從另一個線程的線程中的所有活動
- 18. 如何從c/C++中的另一個線程停止主線程
- 19. 多線程,線程同步
- 20. AppDomain.Unload()如何中止線程?
- 21. STA線程中止異常
- 22. 如何中止線程
- 23. 在python3中停止線程
- 24. 線程正在中止
- 25. 中止阻塞線程
- 26. reactjs.net線程已被中止
- 27. Java,停止(中斷)線程
- 28. 在Java中停止線程
- 29. 在C#中停止線程
- 30. AdjustThreadsInPool,線程中止異常
好的,我知道它是安全的。我仍然會鄙視任何使用此代碼的代碼。有點像在有其他更清潔的做事方式時看到「goto」。實際上,我稱'Thread.Abort'爲多線程編程的'goto'。「我不是100%反對在這裏使用「Abort」,就像我不是100%反對使用goto一樣。但是。 。 。 –
@JimMischel:是的,它非常嚴酷 - 但至少比放棄一個*不同的線程更好。將進行編輯以清楚表明這不是推薦的策略。 –