(1)现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?
public static void main(String[] args){
Thread t1 = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("执行了线程1");
}
});
Thread t2 = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("执行了线程2");
}
});
Thread t3 = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("执行了线程3");
}
});
t1.start();
try {
t1.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
t2.start();
try {
t2.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
t3.start();
}
执行结果:
执行了线程1
执行了线程2
执行了线程3
t1.join()的意思就是t1抢占CPU的控制权,优先执行t1的线程。
(2)
待定