对线程的插队行为的理解

在编写多线程时,会遇到让一个线程优先于其他线程运行的情况,

此时除了可以设置其优先级高于其他线程外,更直接的方式是使用Thread类的join()方法

--如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3893797.html"谢谢--

使用join()方法,可实现"插队"效果。当插队的线程运行结束后,其他线程将继续执行。

join()方法是Thread类的一个静态方法,它有三种形式:

join() : 等待调用该方法的线程终止

join(long millis) : 等待调用该方法的线程终止的时间最长为millis毫秒

join(long millis,int nanos) : 等待调用该方法的线程终止的时间最长为millis毫秒加纳秒

注:如果有线程中断了运行join()方法的线程,则抛出InterruptedException

代码实例:

package com.xhj.thread;

/**

* 用join()来实现线程的插队

*

* @author XIEHEJUN

*

*/

public class JoinThread implements Runnable {

@Override

public void run() {

for (int i = 1; i < 6; i++) {

try {

Thread.sleep(100);

} catch (Exception e) {

// TODO: handle exception

}

System.out.println("紧急情况:" + i + "号车出发");

}

}

public static void main(String[] args) {

JoinThread join = new JoinThread();

Thread thread = new Thread(join);

thread.start();

for (int i = 1; i < 6; i++) {

try {

Thread.sleep(100);

} catch (Exception e) {

e.printStackTrace();

}

System.out.println("正常情况下:" + i + "号车出发");

try {

thread.join();

} catch (Exception e) {

e.printStackTrace();

}

}

}

}

原文:http://www.cnblogs.com/XHJT/p/3894992.html

java 线程的插队运行_java笔记--线程的插队行为相关推荐

  1. java实现线程同步的方法_Java实现线程同步方法及原理详解

    一.概述 无论是什么语言,在多线程编程中,常常会遇到多个线同时操作程某个变量(读/写),如果读/写不同步,则会造成不符合预期的结果. 例如:线程A和线程B并发运行,都操作变量X,若线程A对变量X进行赋 ...

  2. java 线程池的使用_Java 使用线程池执行若干任务

    在执行一系列带有IO操作(例如下载文件),且互不相关的异步任务时,采用多线程可以很极大的提高运行效率.线程池包含了一系列的线程,并且可以管理这些线程.例如:创建线程,销毁线程等.本文将介绍如何使用Ja ...

  3. java中线程池的使用_Java中线程池的简单使用

    什么是线程池? 顾名思义线程池就是线程的容器 举个例子:在没有共享电源的年代,车站有5个人手机都没电且都没有带电源,这五个人想要给手机充电只能去车站的售货亭各花100块钱买一个移动电源:但是现在共享电 ...

  4. python 中主线程结束 子线程还在运行么_python 线程之一:线程的创建、启动及运行方式

    threading:这个模块在较低级的模块 _thread 基础上建立较高级的线程接口 以后我们就用 threading 模块来管理线程就可以了. Tread 类:控制线程创建.启动及运行方式 一.线 ...

  5. java 线程的插队运行_Java线程插队

    当某个线程中调用其它线程的join()方法时,调用的线程将被阻塞,直到被join()方法加入的线程执行完成后才会继续运行. 示例: public class ThreadJoin { public s ...

  6. java什么时候需要同步_JAVA中线程在什么时候需要同步和互斥

    JAVA中线程在什么时候需要同步和互斥 关注:265  答案:6  mip版 解决时间 2021-01-27 08:10 提问者时光易老 2021-01-27 03:32 JAVA中线程在什么时候需要 ...

  7. java中的僵死进程_Java中线程间怎么通讯?什么叫僵死线程?

    <尸家保镖> <猛鬼出千> <不死心灵> <大家发财> <灵幻少女> <九天玄女> <僵尸至尊> <湘西尸王& ...

  8. java线程等待都完成_Java等待线程完成

    我有一个线程下载数据,我想等待,直到下载完成之前,我加载数据.有这样做的标准方法吗? 更多信息: 我有一个下载类,从URL(序列化POJO)获取数据.下载是Runnable和Observable.它跟 ...

  9. java线程安全的方法_Java实现线程安全的方式

    多线程环境中如何保证线程安全?java可以实现线程安全的方式归纳如下: 1.使用synchronized关键字 synchronized关键字可以修饰方法和代码块,它的语义是保证同一段代码同一时间只能 ...

  10. java模拟三人爬山_java笔记——模拟多人徒步爬山例子

    模拟多人徒步爬山,使用多线程模拟多人徒步爬山训练要点,使用任意一种方式创建线程,使用 Thread.sleep()方法设置线程休眠.需求说明:每个线程代表一个人可设置每人爬山速度每爬完 100 米显示 ...

最新文章

  1. 05移动端布局基础之flex弹性布局项目实战(携程移动端首页)
  2. DAPP(分布式应用),区块链新物种,程序员掘金新风口!
  3. 在ASP.NET AJAX 1.0框架中访问Web服务
  4. [html] 如何使用普通元素拥有像textarea元素一样缩放?
  5. 牛客网--19校招--获得最多的奖金
  6. 信息安全工程师笔记-案例分析(三)
  7. matlab vs2010编译器xml,matlab(R2010a)找不到vs2010的c++编译器
  8. HTML 为啥称“超文本标记语言”?
  9. 打字机游戏Ⅱ之手速pk
  10. flask-mail异步发送邮件_Spring Boot邮件发送功能的实现与原理介绍
  11. 开发微信“自动抢红包”软件,被罚400多万
  12. bio-linux软件包教程,biolinux包含软件
  13. osu计算机科学硕士,OSU的CSE「俄亥俄州立大学计算机科学与工程系」
  14. 病毒木马查杀实战第011篇:QQ盗号木马之专杀工具的编写
  15. python做平面设计-Python系列干货之——Python与设计模式
  16. java 室内3d_室内地图制作-首款实时室内绘制室内地图-3D室内地图
  17. 【菠萝狗四足机器人】二次开发教程--第一章 【简介与开发环境搭建】
  18. win10常见问题-任务栏消失
  19. PayPal取消了连连支付快捷提现,我是如何提现到国内的?
  20. java中双冒号的用法

热门文章

  1. linux 进程 网速监控
  2. 有趣的开源软件:语音识别工具Kaldi (一)
  3. 2020年西北工业大学 J- 不讲武德
  4. 从程序员到项目经理(六):程序员加油站 — 懂电脑更要懂人脑
  5. SYSLINUX中文介绍
  6. python泰勒公式计算e的x次方_e的x次方在x0=0的泰勒展开式
  7. 手脱Aspack变形壳1
  8. 正向查找区域和反向查找区域的操作教程(内提供系统镜像下载)
  9. 微软新的邮件帐户域名 @live.com和@windowslive.com
  10. php 最常用的内置函数大全