gpt4 book ai didi

java - 为什么我的输入显示一个线程在另一个线程之后执行,而不是同时执行?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:46:44 25 4
gpt4 key购买 nike

研究了线程的概念,发现是让代码同时在两个进程中运行。不过这是我的代码

public class Connor extends Thread{

public void run() {
for(int i=0; i< 10; i ++){
System.out.println("Hello " + i);
}

public static void main(String[] args){
Connor runner1 = new Connor();
Connor runner2 = new Connor();
runner1.start();
runner2.start();
}
}

我的输出 http://imgur.com/yAZqgal

看起来这两个线程确实同时启动(不同的进程,如两个前导 0 所示),但一个执行 (1-9),然后另一个执行 (1-9)。他们是否也应该交织 (1,1,2,2,...) bc 线程都打印到控制台。我研究并发现 start 是正确的方法,因为它告诉线程类在另一个线程中执行 run 方法?谁能解释为什么我得到这个输出?

最佳答案

假设您有 10 件差事需要完成,您姐姐有 10 件她需要做的差事,而您只有一辆车。您是否在每次出差后把车开回来并更换司机?当然不是。那将是荒谬的低效。每个线程基本上只需要输出流。因此,将它们紧密交错是荒谬的。

关于java - 为什么我的输入显示一个线程在另一个线程之后执行,而不是同时执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24348745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com