多线程的非主线程的销毁机制

Posted 邪心魔佛一页书

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程的非主线程的销毁机制相关的知识,希望对你有一定的参考价值。

假设有如下代码所示的多线程:

 1 private void btnNewThread_Click(object sender, EventArgs e)
 2 {             
 3     Thread t = new Thread(new ThreadStart(Test));
 4     t.Start();
 5     this.btnNewThread.Enabled = false;
 6 }
 7 private void Test()
 8 {
 9      //……        
10 }

这个新建的线程t在执行完Test()方法后会自动销毁吗?还是需要写代码手动销毁呢?

下面就多线程的非主线程销毁机制做个总结:

1).t结束就自动销毁了

2).设置线程属性IsBackground=true

   将线程t作为后台线程,随着主线程结束而一起结束,不管这个线程有没有执行完。

3).手动销毁

可以在创建线程的时候加个线程名,然后存放到线程池里,在要销毁的时候从线程池找到对应线程销毁。

以上是关于多线程的非主线程的销毁机制的主要内容,如果未能解决你的问题,请参考以下文章

多线程编程

线程池工作机制

python 并发编程 多线程 守护线程

c#多线程

怎样去写线程安全的代码(Java)

怎样去写线程安全的代码(Java)