代码

t.join();表示:线程t插队 main被阻塞 需要等待t执行完毕后main再继续

package cn.hanquan.test;import java.text.SimpleDateFormat;
import java.util.Date;public class TestJoin {public static void main(String[] args) throws InterruptedException {Thread t = new Thread(() -> {for (int i = 0; i < 50; i++) {System.out.println(Thread.currentThread().getName() + "-->" + i);}});t.start();for (int i = 0; i < 50; i++) {System.out.println(Thread.currentThread().getName() + "-->" + i);if (i == 20)t.join();// 线程t插队 main被阻塞 需要等待t执行完毕后main再继续}}
}


查看线程的状态

以下为常见的线程状态:
使用getState()查看线程的状态的示例代码:

package cn.hanquan.test;import java.text.SimpleDateFormat;
import java.util.Date;/** yield礼让线程,直接进入就绪状态,不是阻塞状态*/public class TestJoin {public static void main(String[] args) throws InterruptedException {// 一个独立的线程Thread t = new Thread(() -> {for (int i = 0; i < 50; i++) {System.out.println(Thread.currentThread().getName() + "-->" + i);}});t.start();// 一个能够检测线程t的-状态的线程Thread h = new Thread(() -> {while (t.getState() != Thread.State.TERMINATED) {System.out.println("线程Thread-0的状态是" + t.getState());}});h.start();// 主线程for (int i = 0; i < 50; i++) {System.out.println(Thread.currentThread().getName() + "-->" + i);if (i == 20)t.join();// 线程t插队 main被阻塞 需要等待t执行完毕后main再继续}}
}

【Java多线程】Join的使用、如何使用getState()查看线程的状态相关推荐

  1. java中关于线程的状态属性_深入理解Java多线程与并发框(第①篇)——线程的状态...

    ![](http://img.blog.itpub.net/blog/2020/03/20/5d189a73e1147f37.png?x-oss-process=style/bb) **1. 新建状态 ...

  2. 我也学习JAVA多线程-join

    [原文链接]:https://blog.tecchen.xyz ,博文同步发布到博客园. 由于精力有限,对文章的更新可能不能及时同步,请点击上面的原文链接访问最新内容. 欢迎访问我的个人网站:http ...

  3. Java多线程系列--“基础篇”09之 interrupt()和线程终止方式

    概要 本章,会对线程的interrupt()中断和终止方式进行介绍.涉及到的内容包括: 1. interrupt()说明 2. 终止线程的方式   2.1 终止处于"阻塞状态"的线 ...

  4. Java多线程笔记(零):进程、线程与通用概念

    前言 不积跬步,无以至千里:不积小流,无以成江海.在学习Java多线程相关的知识前,我们首先需要去了解一点操作系统的进程.线程以及相关的基础概念. 进程 通常,我们把一个程序的执行称为一个进程.反过来 ...

  5. java多线程同时运行_Java实现的两个线程同时运行案例

    本文实例讲述了Java实现的两个线程同时运行.分享给大家供大家参考,具体如下: /** * 两个案例同时运行案例 * 1:这个两个线程并不是有规律的运行而是有没有规律的交替运行 */ package ...

  6. 【JAVA多线程学习笔记】(1)实现线程的方式 线程生命周期 操作线程的方法

    文章目录 两种方式实现线程 继承Thread类 模拟银行叫号的程序 Runnable接口 代码1:(与swing相结合创建gui程序) Thread类的⼏个常⽤⽅法 线程生命周期 操作线程的方法 代码 ...

  7. Java多线程学习四:共有哪 3 类线程安全问题

    我们在实际开发中经常会遇到线程不安全的情况,那么一共有哪 3 种典型的线程安全问题呢? 运行结果错误: 发布和初始化导致线程安全问题: 活跃性问题. 运行结果错误 来看多线程同时操作一个变量导致的运行 ...

  8. Java多线程学习二十:HashMap 为什么是线程不安全的

    为什么 HashMap 是线程不安全的?而对于 HashMap,相信你一定并不陌生,HashMap 是我们平时工作和学习中用得非常非常多的一个容器,也是 Map 最主要的实现类之一,但是它自身并不具备 ...

  9. 十分钟搞定Java多线程-如何使用sleep()方法和TimeUnit暂停线程

    为什么要使用sleep暂停线程 有多种方法可以暂停或停止当前正在运行的线程,但是使用Thread.sleep()方法将线程置于睡眠状态才是暂停线程的正确方法.有些人会说,为什么不用wait和notif ...

最新文章

  1. ZOJ 3805--解题报告
  2. 精通python网络爬虫-精通Python网络爬虫:核心技术、框架与项目实战 PDF
  3. SQL Server常用的系统存储过程应用实例
  4. DocumentNavigator是什么东东?
  5. java完数流程图_编程基本功训练:流程图画法及练习
  6. Taro+react开发(99):问答模块06实现加减
  7. css background 充满自适应_剖析一些经典的CSS布局问题,为前端开发+面试保驾护航...
  8. 云计算与星辰大海的结合——不要回答,来自百亿光年外的未知信号
  9. jsp java循环读取json_JAVA JSON遍历问题,求解(内附代码)
  10. Android中文API(99)—— RelativeLayout
  11. 未能加载文件或程序集“System.Runtime.Serialization, Version=2.0.5.0, Culture=neutral,
  12. 集结号!四大国产开源数据库共聚申城,共话未来技术演进
  13. ONE-ReactNative
  14. python小游戏源码
  15. 怎样稳稳获得年化高收益
  16. 深入浅出mysql第三版pdf百度云,工作感悟
  17. TrendForce:2018年上半年电视面板出货年增11%
  18. 股票买卖问题-含手续费
  19. 【CK】ClickHouse入门
  20. msm8953-配置I2C 速率

热门文章

  1. Gym - 101986F Pizza Delivery(最短路+DAG必经边)
  2. qduoj - WHY吃糖果(二分套二分)
  3. Linux服务-FTP文件服务器部署
  4. Cannot add or update a child row: a foreign key constraint fails (`university`.`instructor`, CONSTRA
  5. 梅州有学java的地方吗,梅州java工资水平,梅州java工资很高吗,梅州java工资底薪能到多少...
  6. POJ3244(工科数学分析)
  7. JSP中的include指令
  8. 获取网络时间并刷新本地时间(源码2)
  9. 视频码率,帧率和分辨率的区别
  10. 用 70 行代码给你自己写一个 strace