天天看點

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方法,在本線程中引用需要加入進來執行的線程,這樣來確定加入進來的線程可以先執行。