Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在多线程应用程序中中止线程时的内存状态_C#_Multithreading - Fatal编程技术网

C# 在多线程应用程序中中止线程时的内存状态

C# 在多线程应用程序中中止线程时的内存状态,c#,multithreading,C#,Multithreading,我没有找到一个相关的搜索结果,如果线程是多线程应用程序,那么当它被中止时,它正在使用的内存会发生什么变化 会有内存泄漏吗 另外,如果我没有在catch子句中调用Thread.ResetAbort(),异常ThreadAbortException将被抛出到外部catch和外部catch(如果有的话) 谢谢。 线程不使用内存。进程有内存。线程在其父进程中运行 在C#中,对象分配的对象并不因线程分配的不同而不同。仔细阅读垃圾收集 另外,若我并没有在catch子句中调用Thread.ResetAbor

我没有找到一个相关的搜索结果,如果线程是多线程应用程序,那么当它被中止时,它正在使用的内存会发生什么变化

会有内存泄漏吗

另外,如果我没有在
catch
子句中调用
Thread.ResetAbort()
,异常
ThreadAbortException
将被抛出到外部catch和外部catch(如果有的话)

谢谢。

  • 线程不使用内存。进程有内存。线程在其父进程中运行

  • 在C#中,对象分配的对象并不因线程分配的不同而不同。仔细阅读垃圾收集

另外,若我并没有在catch子句中调用Thread.ResetAbort(),就会出现异常 ThreadAbortException将被抛出到外部catch和外部catch(如果有)

这里有一个叫做文档的东西,这是一个非常简单的查找。让我给你报价。我所做的只是在google中键入“ThreadAbortException”,这就导致了

现在引述:

当调用Abort方法销毁线程时 公共语言运行库引发ThreadAbortException。 ThreadAbortException是一个可以捕获的特殊异常,但它 将在挡块末端再次自动升起。什么时候 引发此异常时,运行库将执行所有finally块 在结束线程之前。因为线程可以执行无界 finally块中的计算或调用Thread.ResetAbort以取消 中止后,无法保证线程将永远结束。如果你 要等待中止的线程结束,可以调用 连接方法。Join是一个阻塞调用,直到 线程实际上停止执行

就这么简单。它会在捕捉结束时自动收回