Java——线程插队_join ()方法来实现“插队功能”
在 Thread 类中提供了一个 join ()方法来实现“插队功能”。当在某个线程中调用其他线程的 join ()方法时,调用的线程将被阻塞,直到被 join ()方法加入的线程执行完成后它才会继续运行。
ExampleM10:
//线程插队
public class ExampleM10 {public static void main(String[] args) throws Exception{//创建线程Thread t = new Thread(new EmergencyThread(),"线程一");t.start(); //开启线程for (int i=1;i<6;i++){System.out.println(Thread.currentThread().getName()+"输入:"+i);if (i==2){t.join(); //调用 join() 方法}Thread.sleep(500); //线程休眠 500 毫秒}}
}
class EmergencyThread implements Runnable {public void run() {for (int i = 1;i<6;i++) {System.out.println(Thread.currentThread().getName()+"输入:"+i);try {Thread.sleep(500); //线程休眠 500 毫秒}catch (InterruptedException e){e.printStackTrace();}}}
}
该例子 main 线程中开启了一个线程 t ,两个线程的循环体中都调用了 Thread 的sleep (500)方法,以实现两个线程的交替执行。当 main 线程中的循环变量为2时,调用 t 线程的 join ()方法,这时, t 线程就会“插队”优先执行。从运行结果可以看出,当 main 线程输出2以后,线程一就开始执行,直到线程一执行完毕, main 线程才继续执行。
Java——线程插队_join ()方法来实现“插队功能”相关推荐
- java 线程同步的方法_Java多线程同步方法
Java多线程同步方法 package com.wkcto.intrinsiclock; /** * synchronized同步实例方法 * 把整个方法体作为同步代码块 * 默认的锁对象是this对 ...
- java线程三种方法,Java基础_线程的使用及创建线程的三种方法
线程:线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务. 进程:进 ...
- JAVA线程两种方法内存,JAVA线程基础回顾及内存模型(一)
线程创建的两种方式 继承Thread类 class MyThread extends Thread{ ...... @Override public void run(){ ...... } } My ...
- Java线程池execute()方法源码解析
先看作者给出的注释来理解线程池到底有什么作用 * Thread pools address two different problems: they usually * provide improve ...
- java线程中join方法的简单讲解
一.作用 Thread类中的join方法的主要作用就是同步,它可以使得线程之间的并发执行变为串行执行.具体看代码: public class Test {public static void main ...
- Java——线程让步_yield()方法
线程让步可以通过 yield ()方法来实现,该方法和 sleep ()方法有点相似,都可以让当前正在运行的线程暂停,区别在于 yield() 方法不会阻塞该线程,它只是将线程转换成就绪状态,让系统的 ...
- java线程安全的方法_Java实现线程安全的方式
多线程环境中如何保证线程安全?java可以实现线程安全的方式归纳如下: 1.使用synchronized关键字 synchronized关键字可以修饰方法和代码块,它的语义是保证同一段代码同一时间只能 ...
- java线程的实现方法_Java多线程的四种实现方式
1.Java多线程实现的方式有四种: 1.继承Thread类,重写run方法 2.实现Runnable接口,重写run方法,实现Runnable接口的实现类的实例对象作为Thread构造函数的targ ...
- java线程池 的方法_JAVA线程池的实现方法
我们大家都知道,在处理多线程服务并发时,由于创建线程需要占用很多的系统资源,所以为了避免这些不必要的损耗,通常我们采用线程池来解决这些问题. 线程池的基本原理是,首先创建并保持一定数量的线程,当需要使 ...
最新文章
- 学生教育云平台登录入口_湖南省教育云平台登录入口
- springboot mockmvc单元测试
- python3 dict 字典 合并
- python安装教程3.8.5-[分享栈]centos7安装python3.8.5
- Linux下FTP服务器搭建
- 每天学一点儿shell:Shell的常用语法规则
- 照片处理软件(iSee图片专家) 3.930 中文免费版
- mysql文档批处理去重_数据导入经验总结
- linux语法错误 未预期的文件结尾,centos shell运行报语法错误: 未预期的文件结尾...
- linux下达梦数据库启动_linux 平台 达梦DM 7 数据库 启动与关闭
- python时间函数报错_Python Day11-LEGB-global-时间函数
- 要想能安心,必须先死心。
- Advapi 登录类型8的错误
- 中国石油计算机文化基础答案,中国石油大学17年秋《计算机文化基础》第二次在线作业答案...
- docker部署redis集群_Docker部署Redis集群----第九节(docker-redis哨兵集群“轮询分流”篇实例一)...
- 【C++ STL】深入解析神秘的 --- 仿函数
- SATA硬盘接口是什么
- 目标客户画像_4 种类型 + 10 大步骤,详解用户画像
- RationalDMIS 2020定制报告(EXCEL)
- 格式工厂 wav 比特率_鸡娃常用工具系列一格式工厂(音频转换软件)
热门文章
- 使用wxauto出现ImportError: DLL load failed while importing win32gui: 找不到指定的程序报错的解决方案
- TP6 控制器不存在:app\index\controller\Index
- 计算机哪个自考学校好,哪个学校的自考计算机专业本科比较好通过?
- 四月国漫新番大理寺日志前四集弹幕分析
- 洗车Myjnie 题解
- VMware设置共享文件夹之后/mnt/hgfs里面什么也没有
- 驱动中platform resource 和 porbe 之间的关系
- 北航计算机学硕和专硕的录取率,北航清退404位学生!过来人告诉你,读研和读博的压力比想象更大...
- ae打开模板显示不出来_为什么套用的AE模板打开之后没有错误提示却还是有問題?...
- updater-script