对多线程概念有点困惑

时间:2013-01-07 20:49:36

标签: java multithreading

我有一些关于Java多线程的问题。我目前正在学习不同的多线程方法。我的第一个问题是,在线程中的代码运行完成后,线程会发生什么?我需要停止/杀死线程吗?我目前正在为每个线程创建一个类,并在每个类中实现Runnable。然后我使用new ThreadClass();.在主类中启动线程在Thread类的构造函数中,我将它设置为使一个名为“second”的Thread。如果我在main方法中添加两次new ThreadClass(),那么两个线程都被命名为“second”吗?感谢。

2 个答案:

答案 0 :(得分:3)

  

我的第一个问题是,在线程中的代码运行完成后,线程会发生什么?我需要停止/杀死线程吗?

当线程无关时,线程停止。如果您有ExecutorService,则必须在完成后使用shutdown。

  

如果我在main方法中添加两次新的ThreadClass(),两个线程都被命名为“second”吗?

您正在使代码相同。这并不意味着线程的名称必须相同(反之亦然)

答案 1 :(得分:0)

我认为你的意思是Thread而不是ThreadClass

当线程的run方法返回时,线程将停止。如果只在第二个线程中指定名称,则只有该线程的名称为“second”。第一个帖子不受影响。

如果可能的话,你应该避免调用stop,因为它不允许线程干净地退出。