Bet*_*moo 6 c# multithreading abort
如果一个线程正在运行一个func1调用其中的另一个函数的函数func2......
然后我调用了thread.Abort()
这func1只会停止
OR func1并且func2所有函数func1都调用了??
谢谢
编辑:这里有更多细节:
func1在一个新的线程中被调用,它会不断地func2定期调用...
func2只有当某个数组不为null时才开始做一些工作..它完成它并返回
当主管想要保存数据时,它会中止Thread of func1- 然后使数组为null,保存数据,然后用新的数据填充数组..然后func1再次启动Thread ..
有时会引发异常,因为数组在null中为空func2.所以func1 abort不会影响func2
Mar*_*ers 14
Thread.Abort 不保证会停止线程,如果可能,您应该避免使用它.
调用此方法通常会终止该线程.
强调我的.
它的作用是ThreadAbortException在目标线程中引发一个.如果捕获此异常,代码将继续执行,直到它到达catch块的末尾,此时异常将自动重新抛出.如果你没有捕获它,它类似于正常的异常 - 它向上传播调用堆栈.
假设您没有捕获异常,那么该线程中运行的所有代码都将停止运行.从该线程启动的其他线程不会受到影响.