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

Thread.activeCount()运行出错问题

......

    System.out.println(Thread.activeCount());

    while (Thread.activeCount() > 1) {

      Thread.yield();

    }


    System.out.println(t.getNum());

按照教程中写的代码

打印结果:

877

1000

FATAL ERROR in native method: JDWP cannot get thread local storage, jvmtiError=JVMTI_ERROR_WRONG_PHASE(112)

JDWP exit error JVMTI_ERROR_WRONG_PHASE(112): cannot get thread local storage [../../../src/share/back/threadControl.c:195]


为什么有警告输出?


正在回答

2 回答

你代码写错了哦,while(Thread.activeCount() < 1),是活跃的线程数量小于1,你写成大于号啦

0 回复 有任何疑惑可以回复我~
#1

qq_MrmOnkEy_03331110

没有错啊!!! 那个while循环所表达的意思是,当活跃的线程大于1时,main线程就先yield 等待,让上面的其它线程执行完毕之后,Thread.activeCount() = 1时,跳出while循环,输出结果
2016-05-09 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

Thread.activeCount()运行出错问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信