java 线程 join

 /**
 *
 * @author emmet1988.iteye.com
 *
 * Thread提供了让一个线程等待另一个线程执行完成的方法:join方法。
 * 当某个线程的执行流中调用了其他线程的join方法时,则调用线程将
 * 被阻塞,直到被join方法加入的join线程完成为止。
 *
 * join方法有三种重载的形式:
 * 1.join(); 等待被join的线程执行完成。
 * 2.join(long millis); 等待被join的线程的时间最长为millis毫秒。
 * 2.join(long millis,int nanos); 等待被join的线程的最长时间为millis毫秒 加上nanos毫秒(千分之一毫秒)。
 */
public class JoinThread extends Thread {
 
 public JoinThread(String name){
  super(name);
 }
 
  @Override
 public void run() {
//  super.run();
   for (int i = 0; i < 10; i++) {
   System.out.println("子线程:"+getName()+" "+i);
  }
 }
 
  public static void main(String[] args) throws InterruptedException {
  new JoinThread("新线程").start();
  for (int i = 0; i < 10; i++) {
   if (i==2 ) {
    JoinThread jt = new JoinThread("被Join的线程");
    jt.start();
    // 在main线程的执行流中(即本方法)调用了jt线程的Join方法,
    // 则main线程必须执行结束才会向下继续执行。
    jt.join();
   }
   System.out.println("主线程:"+Thread.currentThread().getName()+" "+i);
  }
 }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值