研究了线程的概念,发现是让代码同时在两个进程中运行。不过这是我的代码
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();
}
}
看起来这两个线程确实同时启动(不同的进程,如两个前导 0 所示),但一个执行 (1-9),然后另一个执行 (1-9)。他们是否也应该交织 (1,1,2,2,...) bc 线程都打印到控制台。我研究并发现 start 是正确的方法,因为它告诉线程类在另一个线程中执行 run 方法?谁能解释为什么我得到这个输出?
最佳答案
假设您有 10 件差事需要完成,您姐姐有 10 件她需要做的差事,而您只有一辆车。您是否在每次出差后把车开回来并更换司机?当然不是。那将是荒谬的低效。每个线程基本上只需要输出流。因此,将它们紧密交错是荒谬的。
关于java - 为什么我的输入显示一个线程在另一个线程之后执行,而不是同时执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24348745/