梦之领域 2021-04-28 19:14 采纳率: 77.8%
浏览 40
已结题

有关Java多线程的问题

public class MyThread extends Thread {
    //在类中重写 run 方法,设置线程任务
    @Override
    public void run() {
        for(int j=0; j<20; ++j) {
            System.out.println("run:" + j);
        }
    }
}
public class Main {
    public static void main(String[] args) {
        MyThread thread = new MyThread();
        thread.run();

        for(int j=0; j<20; ++j) {
            System.out.println("main:" + j );
        }
    }
}

=================================

有关上面一段代码,一个视频教程中跑出了如下结果:

main: 0

run: 0

main:1

run:1

main:2

run:2

....

觉得有可能么?我在本机上测试了许多遍,都是输出完一个循环再输出另一个循环,完全没有交错输出

  • 写回答

5条回答 默认 最新

  • এ某年某月某日এ 2021-04-28 20:32
    关注

    刚刚解答了这个相关的问题 你可以看一下https://ask.csdn.net/questions/7423954  原因就是 线程的启动不等于在运行,只能说进入了就绪状态,线程是要排序等待的。所以先后顺序不定。线程之间抢占CPU资源

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 1月16日
  • 已采纳回答 1月8日

悬赏问题

  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退