我在 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(); }}我非常期待看到非常大的数字被打印出来。我在控制台中看到的只是:444444444我说也许我因为某种原因看不到其他人并修改了代码如下: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(); }}现在什么也没有打印。我在这里错过了什么?
1 回答
![?](http://img1.sycdn.imooc.com/545861b80001d27c02200220-100-100.jpg)
慕码人2483693
TA贡献1860条经验 获得超9个赞
一旦您的线程到达执行结束(在您的情况下,threadTest()
方法结束),它就不再是活动线程。
如果Thread.sleep
在方法中添加过长,您将看到此活动线程数进一步增加。
添加回答
举报
0/150
提交
取消