这是我使用Threads的简单程序
public class ThreadJoinExample implements Runnable
{
@Override
public void run() {
for(int i=0;i<5;i++)
{
try {
System.out.println(Thread.currentThread().getName());
Thread.sleep(100);
} catch (Exception e) {
e.printStackTrace();
}
}
}
public static void main(String args[]) throws InterruptedException
{
ThreadJoinExample threadjoinex = new ThreadJoinExample();
Thread t1 = new Thread(threadjoinex,"Th1");
Thread t2 = new Thread(threadjoinex,"Th2");
Thread t3 = new Thread(threadjoinex,"Th3");
t1.start();
t2.start();
t3.start();
t1.join();
t2.join();
t3.join();
}
}
我在下面列出了与上述程序相关的几个问题
1
订单(开始和加入方法)会有什么不同吗?或者它可以是任何方式
t1.start();
t1.join();
t2.start();
t2.join();
t3.start();
t3.join();
我已经读过如果一个线程T2想要在线程T1完成后才开始 应该从线程T2文件中调用T1.join()
如果是这样,那么上面的程序代码是无用的,因为从同一个文件调用所有(join)??
上述程序的输出没有任何订单 是否可以按顺序打印? (下面的方式)
Th1
Th2
Th3
Th1
Th2
Th3
Th1
Th2
Th3
Th1
Th2
Th3