com*_*der 3 java multithreading
我研究了一个线程的概念,并看到它是让代码同时在两个进程中运行.虽然是我的代码
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();
}
}
Run Code Online (Sandbox Code Playgroud)
看起来这两个线程确实同时启动(单独的进程,由两个前导0指示)但是一个执行(1-9)然后另一个执行(1-9).他们还假设交织(1,1,2,2,...)bc线程都打印到控制台.我研究并发现start是正确的方法,因为它告诉线程类在另一个线程中执行run方法?谁能解释为什么我得到这个输出?
假设你有十个差事你需要做,而你的姐姐有十个差事她需要做,而你只有一辆车.你是否在每次差事后将车开回来并切换司机?当然不是.这将是荒谬的低效率.每个线程基本上只需要输出流.所以将它们紧密交错是荒谬的.