java thread join()_Java Thread join() 的用法
Java Thread中, join() 方法是让调用该方法的主线程执行run()时暂时卡住,等run()执行完成后, 主线程再调用执行join()后面的代码。示例:
class ThreadTesterA implements Runnable {
private int counter;
@Override
public void run() {
while (counter <= 10) {
System.out.print("Counter = " + counter + " ");
counter++;
}
System.out.println();
}
}
class ThreadTesterB implements Runnable {
private int i;
@Override
public void run() {
while (i <= 10) {
System.out.print("i = " + i + " ");
i++;
}
System.out.println();
}
}
public class ThreadTester {
public static void main(String[] args) throws InterruptedException {
Thread t1 = new Thread(new ThreadTesterA());
Thread t2 = new Thread(new ThreadTesterB());
t1.start();
t1.join(); // wait t1 to be finished
t2.start();
t2.join(); // in this program, this may be removed
}
}
如果去掉t1.join()这个语句过后, 输出的顺序是乱的, 加上这个语句后, 就会按照顺序输出, 从某种意义上说实现了同步。
java thread join()_Java Thread join() 的用法相关推荐
- java 手动线程调度_Java Thread 多线程 操作线程
5.线程的创建和启动 A.继承Thread类或实现Runnable接口,重写或实现run方法,run方法代表线程要完成的任务 B.创建Thread子类或是Runnable的实现类,即创建的线程对象:不 ...
- java stl分解_Java Thread 之間 記憶體空間分析
Java Thread 之間 記憶體空間分析 SimpleThread.java import com.abc.ChirpControllerDevice; public class SimpleTh ...
- java synchronized 使用_Java中Synchronized的用法
synchronized是Java中的关键字,是一种同步锁.它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码 ...
- java synchronized静态_Java中Synchronized的用法(简单介绍)
简单介绍 synchronized是Java中的关键字,是一种同步锁.它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调 ...
- java thread 线程_Java Thread类简述
今天我们来看下java.lang.Thread这个类. 在学习Thread类之前,先看下线程相关知识:线程的几种状态.上下文切换,然后介绍Thread类中的方法的具体使用. 1.线程的状态 线程从创建 ...
- java thread yield()_Java Thread yield()方法
Java Thread yield()方法 java.lang.Thread.yield() 方法使当前执行的线程对象来暂停并允许其他线程执行. 1 语法 public static void yie ...
- java sleep 循环_java – Thread.sleep()在while循环中
我注意到NetBeans在我的Java代码中的while循环中警告我关于使用Thread.sleep(),所以我已经对此进行了一些研究.看起来,主要的问题是性能之一,当您的同步状态可能会在计数器仍然处 ...
- java volatile实例_Java的Volatile实例用法及讲解
Java的Volatile实例用法及讲解 发布时间:2020-10-03 12:01:58 来源:脚本之家 阅读:88 作者:konami 在原子性.可见性.有序性中,volatile关键字主要在可见 ...
- java 线程间_Java:线程间的用法不同。
周围有很多成语 InterruptedException 但问题是关于显式检查中断状态. 我的理解是 isInterrupted (实例方法)不应主要用于日志记录和调试等.它只提供给定线程上标志的快照 ...
最新文章
- Science:语言可能并不是推理能力所必需的
- spring security3.x学习(12)_remember me
- shell变量,管道符,作业控制,shell变量,以及变量配置文件
- 作业一 郝树伟 1101210664
- http请求curl
- DeathRansom:一款教育目的的Python勒索软件开发平台
- 选择适合自己的 OLAP 引擎,干货
- Go泛型草案设计简明指南
- libreoffice使用_使用LibreOffice Calc管理您的财务
- 项目质量管理--如何保证项目的质量
- 蓝桥杯单片机:模块代码
- echarts 引用地图的json
- 山西省职业技能鉴定计算机操作员(中级工)理论知识试卷,山西省职业技能鉴定统一试卷 中级...
- html所有标签大全wps文件,html所有标签及其作用说明.wps
- 鉴源实验室丨汽车网络安全需求分析方法综述
- vantUI弹出框和微信小程序的究极大坑
- 无网卡驱动,电脑可以用Usb线联网
- Docker managed volume
- Android 输入法显示图标
- 剑指offer_递归与循环---跳台阶
热门文章
- Project Honolulu 正式版发布为 Windows Admin Center
- ASP.NET Core Web API下事件驱动型架构的实现(二):事件处理器中对象生命周期的管理
- spring cloud+dotnet core搭建微服务架构:配置中心(四)
- 在ASP.NET Core中使用百度在线编辑器UEditor
- .NET Core 系列5 :使用 Nuget打包类库
- Raspkate - 基于.NET的可运行于树莓派的轻量型Web服务器
- [转]Xdebug----Failed loading
- Landsat中国西北地区行列号Shapefile图层对照(附行列号Shapefile下载)
- LeetCode之Reverse String
- 链表之打印两个有序链表的公共部分