问答详情
源自:4-2 Java线程交互之能量损失之谜:争用条件

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

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

提问者:宝慕林4765958 2017-08-05 21:38

个回答

  • 于太阳
    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资源