15+N個頂級網上流行的Java多執行緒面試題及自己總結的答案(遇到即會更新)
阿新 • • 發佈:2019-02-03
1)現在有T1、T2、T3三個執行緒,你怎樣保證T2在T1執行完後執行,T3在T2執行完後執行?直接上程式碼(所有程式均以簡單明瞭為主)
原文引用:這個執行緒問題通常會在第一輪或電話面試階段被問到,目的是檢測你對”join”方法是否熟悉。這個多執行緒問題比較簡單,可以用join方法實現。
自己總結:
join()表示無限期等待直到該執行緒結束,join(millis)表示只等待該執行緒millis毫秒的時間,關於join()具體的介紹大家可參考這篇文章,介紹的比較好 http://www.blogjava.net/vincent/archive/2008/08/23/223912.html//還不如順序寫程式了,不用執行緒了,哈哈 public class JoinTest { public static void main(String[] args) throws InterruptedException { Thread1 T1=new Thread1(); Thread2 T2=new Thread2(); Thread3 T3=new Thread3(); T1.start(); T1.join(); T2.start(); T2.join(); T3.start(); T3.join(); } } class Thread1 extends Thread { public void run() { System.out.println("T1 running"); } } class Thread2 extends Thread { public void run() { System.out.println("T2 running"); } } class Thread3 extends Thread { public void run() { System.out.println("T3 running"); } }