C# 线程运行完之后自己会不会释放掉

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 线程运行完之后自己会不会释放掉相关的知识,希望对你有一定的参考价值。

Thread th = new Thread(new ThreadStart(SendFile));
th.Start();

线程运行完之后将自动终止,然后会由CLR来决定什么时候销毁来释放内存和其他资源,一般的说,当你的资源不够或有更高优先级的要求时,内存会被释放,以避免影响CPU性能。如果你实在不放心,用abort终止掉它吧!
th.Abort();
参考技术A C# 是面向对象语言,它自带GC(垃圾回收器),系统会在一定时间去检测,一些变量,对象如果长时间没用,它就会自动清除掉。

for循环和while循环的区别?

  1. 在开发中,如果明确循环的次数,使用for循环 ;不明确循环次数,使用while循环
  2. 从内存角度考虑,for循环的格式for(初始语句;条件语句;步长语句){循环体语句...},for循环结束之后,
  3. {}中的变量值会及时从内存中释放掉,不会消耗内存空间!while循环结束,还可以去访问变量值,不会立即从内存中
    释放掉,等待GC垃圾回收器(垃圾回收线程,也称为守护线程!)空闲时候回收!
  4. 开发中优先使用for循环,其次是while循环

以上是关于C# 线程运行完之后自己会不会释放掉的主要内容,如果未能解决你的问题,请参考以下文章