为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这是我尝试在 4 处停止生成无尽线程的尝试?

为什么这是我尝试在 4 处停止生成无尽线程的尝试?

犯罪嫌疑人X 2021-12-10 16:49:49
我在 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 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

一旦您的线程到达执行结束(在您的情况下,threadTest()方法结束),它就不再是活动线程。

如果Thread.sleep在方法中添加过长,您将看到此活动线程数进一步增加。


查看完整回答
反对 回复 2021-12-10
  • 1 回答
  • 0 关注
  • 118 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信