java多线程 基础demo

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() + "主线程运行结束!");
     }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏女程序员的日常

函数指针介绍及其用法

1、前言   这里有两个绕来绕去的东西,函数指针和指针函数;对于四个字,我们首先只看后面两个字,这样方便我们记忆;   函数指针,本质是指针;是指向函数入口地址...

2061
来自专栏前端真相

js基础(4)

2187
来自专栏海天一树

小朋友学C语言(13):逻辑运算符

逻辑运算符有三种,“&&”(逻辑与)、“||”(逻辑或)和“!”(逻辑非) (一)逻辑与&& “&&”相当于生活中说的“并且”,就是两个条件都同时成立的情况下“...

36314
来自专栏深度学习之tensorflow实战篇

golang 格式“占位符”%d,%f,%s等应用类型

golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf。 红色部分为常用占位符 ? ? ? ? ? ? ? 对于 ...

3827
来自专栏Python爬虫与数据挖掘

Python正则表达式初识(三)

前几天给大家分享了Python正则表达式基础(一)和Python正则表达式基础(二),感兴趣的小伙伴可以点击进去学习,今天继续给大家分享Python正则表达式基...

521
来自专栏magicsoar

C++编译与链接(0)-.h与.cpp中的定义与声明

C++中有的东西需要放在可以在.h文件中定义,有的东西则必须放在.cpp文件中定义,有的东西在不同的cpp文件中的名字可以一样,而有的则不能一样 那么究竟哪些东...

5347
来自专栏LhWorld哥陪你聊算法

Linux篇---Grep和正则匹配

\                  转义字符 .                      匹配任意单个字符 [1249a],[^12],[a-k]  字符序...

4013
来自专栏java学习

工程师笔试题2(答案解析)

一、单项选择题 1.二进制数 11101 转化为十进制数是( )。 A.23 B.17 C.26 D.29 2.以下可以对对象加互斥锁的关键字是( )。 ...

3306
来自专栏Python爬虫与数据挖掘

Python正则表达式初识(三)

前几天给大家分享了Python正则表达式基础(一)和Python正则表达式基础(二),感兴趣的小伙伴可以点击进去学习,今天继续给大家分享Python正则表达式基...

1575
来自专栏Python小屋

Python运算符is与==的区别

在Python中,关系运算符==用来测试两个对象的值是否相等,而同一性测试运算符is用来测试两个对象是否是同一个对象,如果两个变量是同一个对象,那么它们的内存地...

2334

扫码关注云+社区

领取腾讯云代金券