我有一段Java 8的简单代码:
class ThreadTest {
void threadTest() {
new Thread(this::threadTest).start();
System.out.println(Thread.activeCount());
}
public static void main(String[] args) {
new ThreadTest().threadTest();
}
}
我本以为会看到很大的数字被打印出来。但是控制台上我只看到了:
4
4
4
4
4
4
4
4
4
我说也许出于某些原因我无法看到别人,我修改了以下代码:
class ThreadTest {
void threadTest() {
new Thread(this::threadTest).start();
if (Thread.activeCount() > 4) {
System.out.println(Thread.activeCount());
}
}
public static void main(String[] args) {
new ThreadTest().threadTest();
}
}
现在没有任何东西被打印出来。
我错过了什么?
threadTest()
的结尾时),它会被移除。 - Michael Butscher