2

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

4

2 回答 2

3

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

线程在无事可做时停止。如果你有一个 ExecutorService,你必须在完成后使用 shutdown。

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

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

于 2013-01-07T20:52:58.183 回答
0

我假设您的意思是Thread而不是ThreadClass.

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

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

于 2013-01-07T20:57:57.830 回答