java 线程的插队运行_java笔记–线程的插队行为
对线程的插队行为的理解
在编写多线程时,会遇到让一个线程优先于其他线程运行的情况,
此时除了可以设置其优先级高于其他线程外,更直接的方式是使用Thread类的join()方法
使用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(); } } } }
java 线程的插队运行_java笔记–线程的插队行为相关推荐
- java实现线程同步的方法_Java实现线程同步方法及原理详解
一.概述 无论是什么语言,在多线程编程中,常常会遇到多个线同时操作程某个变量(读/写),如果读/写不同步,则会造成不符合预期的结果. 例如:线程A和线程B并发运行,都操作变量X,若线程A对变量X进行赋 ...
- java 线程池的使用_Java 使用线程池执行若干任务
在执行一系列带有IO操作(例如下载文件),且互不相关的异步任务时,采用多线程可以很极大的提高运行效率.线程池包含了一系列的线程,并且可以管理这些线程.例如:创建线程,销毁线程等.本文将介绍如何使用Ja ...
- java中线程池的使用_Java中线程池的简单使用
什么是线程池? 顾名思义线程池就是线程的容器 举个例子:在没有共享电源的年代,车站有5个人手机都没电且都没有带电源,这五个人想要给手机充电只能去车站的售货亭各花100块钱买一个移动电源:但是现在共享电 ...
- python 中主线程结束 子线程还在运行么_python 线程之一:线程的创建、启动及运行方式
threading:这个模块在较低级的模块 _thread 基础上建立较高级的线程接口 以后我们就用 threading 模块来管理线程就可以了. Tread 类:控制线程创建.启动及运行方式 一.线 ...
- java 线程的插队运行_Java线程插队
当某个线程中调用其它线程的join()方法时,调用的线程将被阻塞,直到被join()方法加入的线程执行完成后才会继续运行. 示例: public class ThreadJoin { public s ...
- java什么时候需要同步_JAVA中线程在什么时候需要同步和互斥
JAVA中线程在什么时候需要同步和互斥 关注:265 答案:6 mip版 解决时间 2021-01-27 08:10 提问者时光易老 2021-01-27 03:32 JAVA中线程在什么时候需要 ...
- java中的僵死进程_Java中线程间怎么通讯?什么叫僵死线程?
<尸家保镖> <猛鬼出千> <不死心灵> <大家发财> <灵幻少女> <九天玄女> <僵尸至尊> <湘西尸王& ...
- java线程等待都完成_Java等待线程完成
我有一个线程下载数据,我想等待,直到下载完成之前,我加载数据.有这样做的标准方法吗? 更多信息: 我有一个下载类,从URL(序列化POJO)获取数据.下载是Runnable和Observable.它跟 ...
- java线程安全的方法_Java实现线程安全的方式
多线程环境中如何保证线程安全?java可以实现线程安全的方式归纳如下: 1.使用synchronized关键字 synchronized关键字可以修饰方法和代码块,它的语义是保证同一段代码同一时间只能 ...
- java模拟三人爬山_java笔记——模拟多人徒步爬山例子
模拟多人徒步爬山,使用多线程模拟多人徒步爬山训练要点,使用任意一种方式创建线程,使用 Thread.sleep()方法设置线程休眠.需求说明:每个线程代表一个人可设置每人爬山速度每爬完 100 米显示 ...
最新文章
- 欧拉角和旋转矩阵相互转换
- winform 异步更新ui
- 简单免杀绕过和利用上线的 GoCS
- 《APUE》第6章笔记
- 面试官系统精讲Java源码及大厂真题 - 10 Map源码会问哪些面试题
- TypeScript入门指南(译文)
- Nginx (1)---安装配置
- andorid 三种方式的练习
- 解决wordpress不能上传媒体问题
- 泛微协同办公平台E-cology8.0版本后台维护手册--组织权限中心
- 工厂管理系统(java web前端和后端)
- 外卖cps美团饿了么小程序 每天领取外卖优惠券 下单直接抵扣现金(外卖cps返利分销小程序源码)
- css边框图片border-image切图原理
- Word使用技巧-分页符-分节符
- hp 800 g4 twr linux,【拆机】HP EliteDesk 800 G4 TWR—探究塔式机箱的秘密
- FHD、4K、8K为何物
- (超、深)超像素网络SSN
- arXiv每日推荐-5.9:语音/音频每日论文速递
- 【源码】数学研究者的Cleve_s实验室
- 问答推广技巧和注意事项问答平台推广的执行方案
热门文章
- 浅谈什么是大数据?大数据可以做什么?
- 在质疑声中,81岁的丁肇中或将证实“反物质世界”的存在
- 三人表决器逻辑表达式与非_正则表达式 - 驰念
- 2011—2019年软考中级数据库系统工程师历年真题
- 霏霏暮雨 eclipse+HBASE开发环境搭建(已实践
- 文本框仅允许输入大于0的正整数
- python的logo的代码_简单几步,100行代码用Python画一个蝙蝠侠的logo
- java mock when return can not resolve method xxxx error
- 10个办公必备神器PPT网站,免费!!!
- MySQL无法启动,服务没有报告任何错误