用for循环,是每个循环创建了一个线程吗?为什么输出不是1到100顺序输出,而是没有规矩的呢

来源:4-2 Java线程交互之能量损失之谜:争用条件

宝慕林4765958

2017-08-05 21:38

是不是先创建所有线程,然后线程再开始争用处理机时间?main方法是一个线程吗?
求解答,谢谢谢谢谢谢?

写回答 关注

2回答

  • 于太阳
    2017-08-06 18:32:30
    已采纳

    Debug调试的时候输出就是0到99的顺序,不用Debug调试直接运行就不是0到99输出。

    大致可以理解为创建了所有的线程,再争用资源。

    调试的时候有断点,产生了优先级,所以才按序输出的。

  • luffymaika
    2017-10-17 01:02:31

    可以这么来理解,0到99这段时间太短,对于CPU分配给这个线程的时间片来说足够完成了,也就呈现出0到99个线程同时初始化,然后剩下的线程再争夺CPU资源

深入浅出Java多线程

带你一起深入浅出多线程,掌握基础,展望进阶路线

186088 学习 · 464 问题

查看课程

相似问题