Thread类创建的线程默认的优先级是相等的,我们可通过setPriority()方法来更改优先级,但是还有一种情况是某个线程必须早于其他线程执行完成后,其他线程才能继续执行。
下面的示例演示了3个线程执行操作,其中t3调用start()方法后,接着调用join方法表示该线程必须先执行完成,后继的t1,t2才能继续执行。注意t1,t2的start()方法必须方法t3之后。
示例代码:
classMyThreadextendsThread{
publicMyThread(Stringname){
super(name);
}
publicvoidrun(){
for(inti=0;i<5;i++){
System.out.println(getName());
}
}
}
publicclassTest {
publicstaticvoidmain(String[]args) {
Threadt1=newMyThread("线程1");
Threadt2=newMyThread("线程2");
Threadt3=newMyThread("线程3");
try{
t3.start();
t3.join();
}catch(InterruptedExceptione) {
e.printStackTrace();
}
t1.start();
t2.start();
}
}
程序运行结果如下: