线程里面的join函数的作用
public class TestOne implements Runnable{
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
Thread t = new Thread(new TestOne());
t.start();
System.out.print("Started");
t.join();
System.out.print("Completed");
}
public void run(){
for(int i=0; i<4; i++){
System.out.print(i);
}
}
}
这个代码的输出为什么是Started0123Completed,t.join();在里面起到了什么作用,一直不太明白join函数的作用是什么? --------------------编程问答-------------------- join:当前主线程等待你开启的线程t执行完毕 --------------------编程问答-------------------- 哪个是主线程。 --------------------编程问答--------------------
main啊,你不是在main中启动的线程t么。。。。 --------------------编程问答--------------------
哪个是主线程。
join:当前主线程等待你开启的线程t执行完毕
main啊,你不是在main中启动的线程t么。。。。
似乎是明白了,但我不明白为什么不先输出0123呢?
哪个是主线程。
join:当前主线程等待你开启的线程t执行完毕
main啊,你不是在main中启动的线程t么。。。。
多线程,当然就是异步的了,你多运行几次,每次输出的结果可能都不一样,但是Completed肯定是最后输出 --------------------编程问答--------------------
似乎是明白了,但我不明白为什么不先输出0123呢?
哪个是主线程。
join:当前主线程等待你开启的线程t执行完毕
main啊,你不是在main中启动的线程t么。。。。
多线程,当然就是异步的了,你多运行几次,每次输出的结果可能都不一样,但是Completed肯定是最后输出
似乎是明白了,但我不明白为什么不先输出0123呢?
哪个是主线程。
join:当前主线程等待你开启的线程t执行完毕
main啊,你不是在main中启动的线程t么。。。。
多线程,当然就是异步的了,你多运行几次,每次输出的结果可能都不一样,但是Completed肯定是最后输出
这个例子每次输出都是一样的,因为System.out.print是同步的 --------------------编程问答--------------------
似乎是明白了,但我不明白为什么不先输出0123呢?
哪个是主线程。
join:当前主线程等待你开启的线程t执行完毕
main啊,你不是在main中启动的线程t么。。。。
多线程,当然就是异步的了,你多运行几次,每次输出的结果可能都不一样,但是Completed肯定是最后输出
这个例子每次输出都是一样的,因为System.out.print是同步的
我擦我看错了,易做图,不要理我
补充:Java , Java SE