线程同步

线程同步

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

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

乱或缺省。

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

的原子操作。

同步代码块

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

·位置:定义在方法内部

·synchronized (临界资源对象)

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

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

线程同步·

注意:

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

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

<

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

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

相关推荐
CRMEB系统商城12 小时前
CRMEB多商户系统(PHP)- 移动端二开之基本容器组件使用
运维·开发语言·小程序·php
淮北49413 小时前
科研绘图工具R语言
开发语言·r语言
逍遥德13 小时前
java Map Set List 扩容机制
java·开发语言·list
高山上有一只小老虎13 小时前
mybatisplus实现分页查询
java·spring boot·mybatis
2501_9445215913 小时前
Flutter for OpenHarmony 微动漫App实战:图片加载实现
android·开发语言·前端·javascript·flutter·php
nbsaas-boot13 小时前
基于 Java 21 ScopedValue 的多租户动态数据源完整实践
java·开发语言
2301_7806698613 小时前
线程安全、线程同步(三种加锁方式)、线程池(两种创建线程池方式、线程池处理Runnable任务、线程池处理Callable任务)、并发/并行
java
liuc031713 小时前
Java项目关于不同key的读取
java·开发语言
yaoxin52112313 小时前
296. Java Stream API - 二元操作符与“单位元“
java·服务器·windows
Zach_yuan13 小时前
面向对象封装线程:用 C++ 封装 pthread
开发语言·c++·算法