java多线程 基础demo

本文详细介绍了Java中Thread类的join()方法,通过一个具体的示例程序展示了如何使用join()方法来确保主线程等待所有子线程执行完毕后再继续执行。这对于理解线程同步和避免线程间的数据竞争非常重要。

join()
 
让主进程等待子进程全部执行完
例子如下:
 
package mocker;
public class TestThread5 extends Thread {
     private String name;
     public TestThread5(String name) {
          super(name);
          this.name = name;
     }
     @Override
     public void run() {
          System.out.println(Thread.currentThread().getName() + "线程运行开始 ");
          for (int i = 0; i < 5; i++) {
              System.out.println("子线程" + name + "运行: " + i);
              try {
                   sleep((int) Math.random() * 10);
              } catch (InterruptedException e) {
                   e.printStackTrace();
              }
          }
          System.out.println(Thread.currentThread().getName() + "线程运行结束");
     }
     public static void main(String[] args) {
          System.out.println(Thread.currentThread().getName() + "主线程运行开始!");
          TestThread5 mTh1 = new TestThread5("A");
          TestThread5 mTh2 = new TestThread5("B");
          mTh1.start();
          mTh2.start();
          try{
              mTh1.join();
          }catch(InterruptedException e){
              e.printStackTrace();
          }
          try{
              mTh2.join();
          }catch(InterruptedException e){
              e.printStackTrace();
          }
          System.out.println(Thread.currentThread().getName() + "主线程运行结束!");
     }
}
虽千万人,吾往矣!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值