A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 湛添友 中级黑马   /  2014-4-7 13:21  /  632 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如何让主线程等待其他线程执行完毕再执行主线程???

1 个回复

倒序浏览
提示:如果主线程需要等待子线程执行完成,再继续向下执行,可以使用Thread的join()方法。join()方法会阻塞主线程继续向下执行。
举个例子:
  1. public class Main  
  2. {  
  3.     public static void main(String[] args)  
  4.     {  
  5.         long start = System.currentTimeMillis();  
  6.          
  7.         Thread thread = new TestThread();  
  8.         thread.start();  
  9.          
  10.         try  
  11.         {  
  12.             thread.join();  
  13.         }  
  14.         catch (InterruptedException e)  
  15.         {  
  16.             e.printStackTrace();  
  17.         }  
  18.          
  19.         long end = System.currentTimeMillis();  
  20.         System.out.println("子线程执行时长:" + (end - start));  
  21.     }  
  22. }  
复制代码

执行结果:

Thread-0子线程开始
Thread-0子线程结束
子线程执行时长:5000
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马