Java-线程间通信

本文介绍了Java中线程间的通信机制,包括线程通信的基本概念、如何停止线程及线程常用方法如setDaemon、join等。同时,还探讨了线程池的工作原理和线程之间的等待唤醒机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java-线程间通信
一 线程通讯
就是多个线程操作同一个资源,可是操作的动作不同

二 停止线程:
控制住run的循环就能够控制线程结束

当线程处于冻结状态,就不会读取标记,线程就不会结束

interrupt中断函数:从冻结状态变为运行状态,强制转变状态会抛出中断异常

当没有指定的方式让冻结的线程恢复到运行状态时,这时须要对冻结状态清楚
强制让想成恢复到运行状态。这样就能够操作标记让线程结束

三 常见Thread类方法:
setDaemon(boolean):
标记为守护线程或用户进程。当正在运行的线程都是守护线程时,Java 虚拟机退出。
该方法必须在启动线程前调用。

join():必须等待当前线程运行结束,当前线程持有cpu运行权,再切换到主线程(之前主线程被冻结)
当A线程运行到B线程的join方法时,A线程就会等待。等待B线程运行完才会运行
能够用来暂时增加线程运行

toString():
返回该线程的字符串表示形式,包含线程名称、优先级和线程组。

setPriority():优先级。默觉得5,能够更改线程的优先级
这三个经常使用
1 MIN_Priority,
5 NOM_Priority,
10 MAX_Priority

yield():暂停当前正在运行的线程对象。并运行其它线程

四 线程补充
线程池中存放等待的线程

在等待唤醒机制(信号量)中。多个线程相互通信的资源类应该使用
while标记
notifyAll通知唤醒线程池全部线程
同步函数
例如以下图:
这里写图片描写叙述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值