线程同步

线程同步

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

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

乱或缺省。

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

的原子操作。

同步代码块

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

·位置:定义在方法内部

·synchronized (临界资源对象)

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

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

线程同步·

注意:

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

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

<

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

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

相关推荐
Wang's Blog10 分钟前
Java 接入Redis: 通用命令与键管理
java·服务器·redis
Wang's Blog12 分钟前
Java 接入Redis: 列表集合与有序集合操作命令
java·服务器·redis
Ivanqhz42 分钟前
SVD++算法
java·服务器·网络·深度学习·神经网络
qq_2518364571 小时前
springboot vue3 开发实现 拼豆管理系统
java·开发语言·ai编程
caoerzhong2 小时前
JeeWMS 开源仓库管理系统全景解读:一套 Java WMS 如何把 WMS/OMS/BMS/TMS 装进同一个系统
java·开源
曹牧2 小时前
Java集合框架:List、ArrayList、Map 和 HashMap
java
顾城猿2 小时前
STOMP 协议
java
郑州光合科技余经理2 小时前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
知识分享小能手3 小时前
C++ 学习教程,从入门到精通,C++ 入门知识 — 完整知识点(1)
开发语言·c++·学习
+VX:Fegn08953 小时前
计算机毕业设计|基于springboot + vue旅游管理系统(源码+数据库+文档)
java·开发语言·vue.js·spring boot·课程设计