news 2025/12/22 13:26:40

多线程(2)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
多线程(2)

三、线程状态【理解】

static void sleep(long ms):让当前线程处于休眠状态,休眠的单位是毫秒(ms),处于休眠状态的线程进入有限
期等待状态 。sleep方法会让当前线程释放cpu,但是不释放锁标记。
2. void join() : 让某 线程加入到自身任务中,在哪个线程中调用其他线程join方法,则代表此线程让步其他线程
优先执行,此线程从而进入无限期的等待状态。
例如:在主线程中main函数中: t.join() ; 代表主线程让步于t线程执行
四、线程同步【重点】
1. 临界资源:多线程并发时,被多个线程共享的同一个对象,称为临界资源。
2. 原子操作:不可以分割的多步操作,被视为一个整体,其执行顺序和步骤不能被打破。
3. 线程同步:多线程并发访问时,为了保证临界资源的正确性,从而不破坏操作中的原子操作。
(保护原子操作不能被破坏)
4. 线程同步的两种方式:
(1) 同步代码块:对临界资源对象进行加锁。
a. 定义位置:方法内部
b. 利用 synchronized 对临界资源加锁
c. 语法: synchronized(临界资源对象){
// 原子操作
}
d. 执行的原理:当线程获取临界资源的锁标记时,锁标记空闲,则能获取该对象的锁标记,获取锁标记之
后,可以执行同步代码块{}中的代码,而且只有当{}中所有的内容全部执行完,才释放拥有的锁标
记;但是当线程获取临界资源对象的锁标记时,锁标记被其他线程占用,则此线程进入阻塞状态
(Blocked状态),只有当其他线程释放锁标记,此线程获取锁标记,才结束阻塞状态,同时获取cpu,可以执行{}中 的内容。
2) 同步方法:

a. 用 synchronized修饰 方法:被 synchronized修饰的方法称为同步方法

b. 语法:

修饰符 synchronized 返回值类型 方法名(形参列表)throws 异常{

// 原子操作

}

c. 同步方法等价于 同步代码块:是对当前对象进行加锁

synchronized(this){

// 原子操作

}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/19 17:10:21

WebSocket 对比 MQTT通信优势

——以充电桩系统为例在物联网项目中,通信协议的选择直接影响着系统的稳定性、实时性和开发效率。本文将以一个典型的充电桩系统(包含充电桩、云端服务器、微信小程序三个节点)为例,深入探讨 MQTT 和 WebSocket 两大协议的应用场景…

作者头像 李华
网站建设 2025/12/23 6:31:25

基于springboot面料花型试衣系统

基于Spring Boot的面料花型试衣系统是一个结合了后端技术和前端界面设计的综合性平台,它利用Spring Boot框架的高效性和稳定性,为用户提供了一个便捷、实时的试衣体验。以下是对该系统的详细介绍: 一、系统概述 面料花型试衣系统是一个专为面…

作者头像 李华
网站建设 2025/12/21 15:56:32

域名被污染是什么意思?还能不能继续使用?

在日常域名管理和使用过程中,不少人会遇到“域名被污染”的情况。那么,域名被污染到底是什么意思?还能否继续使用呢?一、什么是域名被污染域名被污染,通常指的是域名的解析或访问受到干扰,导致用户无法正常…

作者头像 李华
网站建设 2025/12/23 7:44:08

Python大数据基于深度学习的音乐推荐系统-250326--论文

文章目录系统截图项目简介大数据系统开发流程主要运用技术介绍爬虫核心代码展示结论源码文档获取定制开发/同行可拿货,招校园代理 :文章底部获取博主联系方式!系统截图 Python-50326– 论文大数据基于深度学习的音乐推荐系统 项目简介 本次研究将…

作者头像 李华
网站建设 2025/12/23 6:21:52

Python大数据影评情感分析可视化及推荐系统的设计与实现_u5ck1y17_论文

文章目录系统截图项目简介大数据系统开发流程主要运用技术介绍爬虫核心代码展示结论源码文档获取定制开发/同行可拿货,招校园代理 :文章底部获取博主联系方式!系统截图 Python_uck一7_论文 大数据影评情感分析可视化及推荐系统的设计与实现 项目…

作者头像 李华
网站建设 2025/12/21 13:51:46

AI Agent设计模式大揭秘:9种架构让你从编程小白变身架构师!

目前而言,我以为 Agent 的设计模式演进是一场在推理成本与执行效果之间寻找平衡的游戏。从最早的思维链,到如今的企业级多智能体协作,这些模式决定了 LLM如何平衡企业研发成本、产品迭代速度、客户使用体验(幻觉)的不可…

作者头像 李华