1.背景
Java支持多线程,CPU分配给线程的时间片是随机的,有时需要控制线程的执行顺序,如执行完threadA再去执行threadB
2.用法
public class SyncTest {
public static void main(String[] args){
Thread threadA = new demoThread("threadA");
Thread threadB = new demoThread("threadB");
threadA.start();
try {
threadA.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
threadB.start();
}
}
class demoThread extends Thread{
String name;
public demoThread(String name){
this.name = name;
}
@Override
public void run() {
// TODO Auto-generated method stub
// super.run()
int i;
for (i =0;i<10;i++){
System.out.println(name+"is running~~");
}
}
}
注释threadA.join()
threadAis running~~
threadBis running~~
threadAis running~~
threadBis running~~
threadAis running~~
threadBis running~~
threadAis running~~
threadBis running~~
threadAis running~~
threadBis running~~
threadAis running~~
threadBis running~~
threadAis running~~
threadBis running~~
threadAis running~~
threadAis running~~
threadAis running~~
threadBis running~~
threadBis running~~
threadBis running~~
加上threadA.join()
threadAis running~~
threadAis running~~
threadAis running~~
threadAis running~~
threadAis running~~
threadAis running~~
threadAis running~~
threadAis running~~
threadAis running~~
threadAis running~~
threadBis running~~
threadBis running~~
threadBis running~~
threadBis running~~
threadBis running~~
threadBis running~~
threadBis running~~
threadBis running~~
threadBis running~~
threadBis running~~