天天看点

java 中线程执行顺序控制

[java] 

view

plain

copy https://code.csdn.net/snippets/485789 https://code.csdn.net/snippets/485789/fork

  1. Thread t1 = new Thread(new Runnable() {  
  2.     @Override  
  3.     public void run() {  
  4.         System.out.println("t1");  
  5.     }  
  6. });  
  7. Thread t2 = new Thread(new Runnable() {  
  8.         try {  
  9.             //引用t1线程,等待t1线程执行完  
  10.             t1.join();  
  11.         } catch (InterruptedException e) {  
  12.             e.printStackTrace();  
  13.         }  
  14.         System.out.println("t2");  
  15. Thread t3 = new Thread(new Runnable() {  
  16.             //引用t2线程,等待t2线程执行完  
  17.             t2.join();  
  18.         System.out.println("t3");  
  19. t3.start();  
  20. t2.start();  
  21. t1.start();  

假如有三个线程T1,T2,T3,如何保证T2在T3之前执行完成,T1在T2之前完成?

使用join方法,在本线程中引用需要加入进来执行的线程,这样来确保加入进来的线程可以先执行。