多线程_插队join

【JAVA】-- 多线程(线程让步yield、线程插队join) 一、线程让步 线程让步是指正在执行的线程,在某些情况下将CPU资源让给其他线程执行。 可通过yield()方法来实现。 该方法和sleep()方法有点相似,都可以让当前正在运行的线程暂停,区别在于yield()方法不会阻塞该线程,只是将线程转换成就绪状态,让系统调度器重新调度一次。 只有与当前线程优先级相同或者更高的线程才能获得执行的机会。 使用示例: class YieldThread extends Thread{ public YieldThread(String name){ 阅读详情

目录

故事理解join

运行结果


写在哪个线程体,当前线程体就被阻塞

故事理解join

package com.pt.thread;
/**
 * 理解join
 * @author tyler
 *
 */
public class Join {
	public static void main(String[] args) {
		System.out.println("猪儿和儿子买酱油的故事");
		new Thread(new Piggy()).start();
	}
	
}


class Piggy extends Thread{
	
	public void run() {
		super.run();
		
		System.out.println("猪儿想炒一个酱肉丝,发现没酱油了");
		System.out.println("让儿子去买海天酱油");
		// 儿子出现
		Thread thread = new Thread(new Son());
		thread.start();
		// 需要等待,才能执行下面的操作
		try {
			thread.join(); // 当前线程被阻塞
			System.out.println("猪儿接过酱油,得知儿子扶了老奶奶,表扬儿子,剩下零钱给了儿子");
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			System.out.println("儿子太久不回来,猪儿去找儿子");
		}
		
		
	}
	
}

class Son extends Thread{
	
	@Override
	public void run() {
		// TODO Auto-generated method stub
		super.run();
		
		System.out.println("儿子接过猪儿的钱出去了");
		System.out.println("路边有个老奶奶过马路,儿子去扶老奶奶");
		for (int i = 1; i < 11; i++) {
			System.out.println(i + "分钟过去了");
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		System.out.println("扶完了老奶奶,该去打酱油了。。。");
		System.out.println("买好酱油,回家!");
	
		
	}
	
}

运行结果

猪儿和儿子买酱油的故事
猪儿想炒一个酱肉丝,发现没酱油了
让儿子去买海天酱油
儿子接过猪儿的钱出去了
路边有个老奶奶过马路,儿子去扶老奶奶
1分钟过去了
2分钟过去了
3分钟过去了
4分钟过去了
5分钟过去了
6分钟过去了
7分钟过去了
8分钟过去了
9分钟过去了
10分钟过去了
扶完了老奶奶,该去打酱油了。。。
买好酱油,回家!
猪儿接过酱油,得知儿子扶了老奶奶,表扬儿子,剩下零钱给了儿子

 

Multisim实现555计时器模拟简易电子琴 一. 元器件介绍 这里用到的元器件有: DIgital power(VCC)数字电源 频率计数器(XFC) 示波器(XSC) ground 数字地 Capacitan 电容器 Resistor 电阻器 555_VIRTUAL 555计时器 触发按键(DIPSW)(DPST)(SPST) 阅读详情

相关推荐

从零到一:Ollama工具在RK3588上的深度优化实践

本文详细介绍了如何在RK3588开发板上深度优化Ollama工具,以高效运行DeepSeek模型。通过CPU与NPU负载平衡、模型量化、温度控制等策略,显著提升性能并降低功耗,适用于边缘计算场景。文章提供了具体的配置命令和优化方案,帮助开发者充分发挥RK3588的硬件潜力。

rgv23456789的博客 311

java 多线程-join插队

java 多线程-join插队 join 合并线程,插队线程,将此线程执行完成后,再执行其他线程,其他线程阻塞 join是一个成员方法,必须通过Thread对象调用 public class n { public static void main(String[]args) throws InterruptedException { Thread t =new Thread(()-> { f...

ting2909的博客 336

双参数威布尔分布(Weibull分布)参数计算(根据故障数据,求双参数威布尔分布的参数详细步骤)

根据故障数据求威布尔分布参数步骤 根据众多文献研究,设备故障数据大多服从指数分布、威布尔分布或对数正态分布。其中威布尔分布较为常用,本文主要介绍威布尔分布的简单应用,并根据某设备故障数据为例简单介绍威布尔分布参数的计算方法。 参考文献11参考文献22 1.双参数威布尔分布的概率密度函数、概率分布函数、可靠度函数: 2.预处理故障数据 将故障数据按时间排序,假设设备分别在以下时间点失效:11.1 、23.5、58.4……则将此时间从小到大排序。并计算中位秩。中位秩的计算公式如下: 其中i表示第几个数据,n

biaochengxiaobai的博客 4万+

Java多线程——join() 指定线程插队运行

在Java语言中,join()方法的作用是让调用该方法的线程在执行完run()方法后,再执行join方法后面的代码。简单的说,就是将两个线程合并,用于实现同步功能。具体而言,可以通过线程A的join()方法来等待线程A的结束,或者使用线程A的join(2000)方法来等待线程A的结束,但最多只等待2s。 我的理解: threadA.join()相当于threadA插队运行。试想这样的场景:有A、B...

等待新娘的僵尸的博客 773

DOA估计算法从原理到仿真——CBF、Capon、MUSIC算法

从原理出发理解并实现经典的DOA估计算法

m0_55845774的博客 1万+

高通平台power_supply 框架下添加第三方充电IC的驱动方法

1.power_supply电源框架介绍: power supply framework在kernel/drivers/power/下。内核抽象出来power supply子系统为驱动提供了统一的框架。 功能包括: 1.抽象PSY设备的共性,向用户空间提供统一的API; 2.为底层PSY驱动的编写,提供简单、统一的方式,同时封装并实现公共逻辑。 power supply class位于d...

Change 1万+

Java多线程礼让yeild()和插队join()方法案例

Java多线程礼让yeild()和插队join()方法,synchronized加锁和volatile.

weixin_52014130的博客 1546

AI在智能制造中的落地:从预测维护到自适应生产调度

从最新的研究与实践来看,“预测维护”和“自适应生产调度”正在成为智能制造中最先跑通闭环的两个核心场景:前者通过对设备健康的前瞻性预测,帮助企业减少非计划停机、优化备件与维护资源;后者通过对复杂生产系统的实时决策优化,使工厂能够更好地应对订单波动、设备故障和多目标约束。更重要的是,越来越多的研究与项目不再将二者视为孤立模块,而是尝试构建“设备健康—生产调度—供应链”三者联动的一体化架构。Nature在技术层面,深度学习、强化学习、多智能体系统、图神经网络和注意力机制等方法,为建模复杂工业系统提供了强大工具;

nmdbbzcl的博客 1290

python中多线程:线程插队方法join详解、线程停止、通过变量来让线程停止

python中多线程:线程插队方法join详解、线程停止、通过变量来让线程停止

m0_55284524的博客 308

华为eNSP镜像包全集下载,包含CE6800、CE12800、NE系列等!

你好,这里是网络技术联盟站。昨天给大家介绍了win11、10下安装eNSP最新系列(1.3.00)并完美运行,附下载。从文章发布到发文前,一直有朋友想让瑞哥提供一下华为ENSP镜像包,今天安排!eNSP安装包、以及eNSP中所需要的镜像包(设备包)(CE、CX、NE40E、NE5000E、NE9000、USG)例如:导入一个USG设备包,eNSP中的USG5500和USG6000V都是可以启动的。如果你的报错“40”的话,那么打开Oracle VM VirtualBox这个虚拟机,删除对应报错的虚拟机,然后

网络技术联盟站 3万+

【AI工具】Browser use搭建及使用的保姆级教程:让AI帮你自动操作浏览器

【AI工具】Browser use搭建及使用的保姆级教程:让AI帮你自动操作浏览器

funfan的博客 2535

多线程插队——join

join合并线程,待此线程执行完成后,在执行其他线程,其他线程阻塞 package thread.lzy.www; public class dBlockedjoind01 { public static void main(String[] args) throws InterruptedException { Thread t = new Thread(()->{ for(int i=0;i<10;i++) { System.out.println("lambda...

you些话的博客 206

SAP-ABAP:ABAP Development Tools(ADT)安装配置学习分享教程-第一篇:ADT安装前置准备与环境校验教程

ABAP Development Tools(ADT)安装配置教程摘要 本文是ADT安装系列的第一篇,重点讲解环境准备与版本校验。ADT是基于Eclipse的现代ABAP开发工具,相比传统SAP GUI提供更智能的开发体验。安装前需确认: 推荐使用Eclipse 2026-03 + Java 21组合 操作系统需Windows 10+/macOS 14+ SAP GUI版本要求Windows≥8.00/macOS≥8.10 后端系统需NetWeaver 7.31 SP04+或S/4HANA 通过java -

baidu_35680696的博客 686

多线程----join插队

package com.kuang.demo05; public class TestJoin implements Runnable { @Override public void run() { for (int i = 0; i <10 ; i++) { System.out.println("VIP线程来插队了!!!"+i); } } public static void main(String[] a

Frank---7的博客 6万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Java_多线程_线程插队join

package cn.thread2; /** * 模拟情景:做菜,洗菜切菜完毕之后发现没油了,出门买油,回来继续做菜 * 理解join * @author Chill Lyn * */ public class TestJoin { public static void main(String[] args) { new Thread(new Cook()).start(); ...

Chill Lyn 380

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

java多线程学习之使用join()方法实现线程插队

package learn.thread;/* * join() 线程插队方法 */ public class Demo11 { public static int i = 0; public static void main(String[] args) { Thread t1 = new Thread() { @Override

cjwdemo的博客 1487

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

多线程_11_插队join

join:合并线程,也可以叫插队线程,让此线程执行完成后,再执行其他线程,其他线程阻塞 就像上图里面的黄色的车一样,黄色的车插队,非要等黄色的车走了后面的车才能走,后面的车被阻塞了。 看代码 package com.cb.thread.day02; /* * join:合并线程 插队线程 */ public class BlockedJoin01 { public static voi...

Pure_Man_Ben的博客 274

Java多线程学习笔记(三)休眠(sleep),让步(yield),插队(join)

线程休眠:使用Thread.sleep(long millis)可以使线程休眠,也就是将正在执行的线程暂停,将CPU让给其他线程去执行。 实例: public class Example06 { public static void main(String[] args) { SleepThread sleepThread = new SleepThread(); new Thread(sleepThread,"线程A

记录学习JAVA中的点点滴滴 333

多线程插队方法 join() 的用法

在Thread中,join()方法的作用是调用其他线程并等待该线程完成后,才能继续运行本线程。 代码示例: public class JoinDemo implements Runnable{ public static void main(String[] args) { Thread th = new Thread(new JoinDemo()); for (int i = 0; i <10 ; i++) { System.out.

LazyBones的博客 499

java多线程join_java 多线程-join插队

join合并线程,插队线程,将此线程执行完成后,再执行其他线程,其他线程阻塞join是一个成员方法,必须通过Thread对象调用public class n {public static void main(String[]args) throws InterruptedException{Thread t =new Thread(()-> {for(int i=0;i<5;i++){...

weixin_39593961的博客 151

Java多线程 Join线程插队

join()方法 Waits for this thread to die.即:等待这个线程结束。   1  程序中有两个线程:[线程A] = threadA、[线程B]=threadB   2  在[线程A]的run()方法中,调用了threadB.join()   3  则[线程A]会在此段代码出,暂停后续代码的调用,等待[线程B]执行结束。   4  [线程B]执行结束之后...

一只老风铃 631

多线程的阻塞:join插队

join为合并线程,待此线程执行完成后,再执行其它线程,其它线程阻塞。相当于插队。与sleep不同的是,join是一个成员方法,使用时候需要用Thread的对象来使用。 public class BlockedSleep01 { public static void main(String[] args) { //一份资源 Web12306 wb = new Web12306(); System.out.println(Thread.currentThread().getName());

qq_46298987的博客 202

java main线程 join_java 多线程-join插队

join合并线程,插队线程,将此线程执行完成后,再执行其他线程,其他线程阻塞join是一个成员方法,必须通过Thread对象调用public class n {public static void main(String[]args) throws InterruptedException{Thread t =new Thread(()-> {for(int i=0;i<5;i++){...

weixin_39841002的博客 99

多线程 线程状态 插队 (join)

package thread02; /** * Join 合并线程(插队线程) * @author * */ public class TestJoin { public static void main(String[] args) throws InterruptedException { Thread t = new Thread(()->{ for(int i...

LY_yhq 306
上一篇: 倒计时
下一篇: 54_剑指offer_java_二叉搜索树中的第k大节点
Longtermevolution
博客等级 码龄9年 113粉丝 249原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值