提示:因为在java中无法保证哪个线程率先执行,所以我们可以手动排线程的先后
提示:以下是本篇文章正文内容,下面案例可供参考
一、错误示范
public class TheThree implements Runnable{
public static void main(String[] args) {
Thread thread1 = new Thread(new TheThree(),"罗致焕");
Thread thread2 = new Thread(new TheThree(),"景海鹏");
Thread thread3 = new Thread(new TheThree(),"叶培建");
thread1.start();
thread2.start();
thread3.start();
}
static int i =0;
@Override
public void run() {
i++;
System.out.println(Thread.currentThread().getName()+"完成第"+i+"棒");
}
}
二、正确
代码如下(示例):
按要求排好希望的线程执行顺序,在每个线程之后进行休眠。
public class TheThree implements Runnable{
public static void main(String[] args) {
Thread thread1 = new Thread(new TheThree(),"罗致焕");
Thread thread2 = new Thread(new TheThree(),"景海鹏");
Thread thread3 = new Thread(new TheThree(),"叶培建");
thread1.start();
toSleep();
thread2.start();
toSleep();
thread3.start();
}
public static void toSleep(){
try{
Thread.sleep(1000);
}catch(InterruptedException e){
e.printStackTrace();
}
}
static int i =0;
@Override
public void run() {
i++;
System.out.println(Thread.currentThread().getName()+"完成第"+i+"棒");
}
}