隔壁王爷爷
2015-04-01 15:14
while (Thread.activeCount() > 2){ Thread.yield(); }
设置成大于2 就能运行了,Java1.8
可参考 http://blog.csdn.net/xiaolinzi007/article/details/44487851
具体为什么idea返回2,是因为多了个monitor ctrlbreak线程。
有一种线程叫做守护线程,程序员可以自己设置某个自定义线程为守护线程(通过一个方法),值得一提的是无论你启动哪个java程序,JVM都会启动某些底层守护线程比如:Low Memory Detector用来监测管理内存 CompilerThread0用来启动什么编辑器的 ATTach Listeser 用来干嘛我也不知道
我也遇到了,通过JVM的工具,看了下,后台活动确实不是一个线程,望视频主能给解答?
Thread.activeCount() 方法返回活动线程的当前线程的线程组中的数量,已你现在的程序(线程中间过程短,一下就结束了)所以你Thread.activeCount()时为1,你可以System.out.println(Thread.activeCount())控制台输出试试
细说Java多线程之内存可见性
55910 学习 · 74 问题
相似问题
回答 4
回答 2