线程同步

线程同步

·临界资源:多线程并发时,共享的同一个对象。

·原子操作:不可分割的多步操作,被视作一个整体,其顺序和步骤不可被打

乱或缺省。

·线程同步:多线程并发时,为了保证临界资源的正确性,而不能破坏程序中

的原子操作。

同步代码块

·同步代码块:对临界资源加锁

·位置:定义在方法内部

·synchronized (临界资源对象)

//代码(原子操作) .]

·执行原理:线程只有获取临界资源对象的锁标记,才能执行同步代码块I中的内容, 并且必须将中的所有代码都执行完成,才释放该线程获取的临界资源对象的领标记; 如果没有获取到临界资源对象的锁标记(锁标记被其他线程占用),则该线程进入阻塞状态,直到拿到临界资源对象的锁标记才会从阻塞状态结束,同时获取cpu时间片则执行0中的内容。

线程同步·

注意:

·任意对象都拥有单一的锁标记(监视器)

·线程同步时,必须保证多个线程共用同一个对象的锁,才能保证共享资源的正确性

<

·回顾:Arrayl.ist和Vector的区别?

ArrayList:线程不安全,运行效率快,内部方法为非同步方法·Vector:线程安全,运行效率慢,内部方法为同步方法

相关推荐
圆山猫4 小时前
[Virtualization](四):Linux KVM/RISC-V 的 vCPU 运行路径
java·linux·risc-v
微学AI5 小时前
一根针指向所有方向:挂谷猜想对 LLM Agent 技能-记忆架构的启示
开发语言·人工智能·架构·挂谷猜想
城管不管5 小时前
ReAct、Plan-and-Execute、Reflection 三大智能 Agent 范式核心区别
java·人工智能·算法·spring·ai·动态规划
IT小白杨5 小时前
从环境制备到自动化工作流:多账号运营的工程化架构拆解
java·经验分享·自动化·安全架构·指纹浏览器
豆瓣鸡5 小时前
算法日记 - Day3
java·开发语言·算法
萧瑟余晖6 小时前
Java深入解析篇九之NIO详解
java·网络·nio
韭菜炒鸡肝天6 小时前
VTK开发笔记(一):VTK介绍,Qt..+VSx+VTK.编译
开发语言·笔记·qt
The Chosen One9856 小时前
高进度算法模板速记(待完善)
java·前端·算法
Aaron - Wistron7 小时前
Web API C# (Furion版)带 单元测试
开发语言·后端·c#
Dxy12393102168 小时前
Python项目打包成EXE完整教程(PyInstaller实战避坑)
开发语言·python