线程同步

线程同步

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

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

乱或缺省。

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

的原子操作。

同步代码块

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

·位置:定义在方法内部

·synchronized (临界资源对象)

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

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

线程同步·

注意:

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

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

<

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

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

相关推荐
jimy11 小时前
C语言模拟对象、方法:“函数指针+结构体“复用函数指针指向的函数体
c语言·开发语言
程序员张31 小时前
SpringBoot集成BCrypt密码加密库
java·spring boot·后端
闲猫1 小时前
Spring AI Agentic 模式(第1部分):Agent Skills——模块化、可复用的能力
java·人工智能·spring
源图客1 小时前
云途物流API开发-鉴权认证(Java)
java·网络·python
天外天-亮2 小时前
HBuilder X 使用 uview-plus 方式
开发语言·javascript·hbuilder x·uview-plus
liguojun20252 小时前
篮球馆自动计时收费系统:从规则配置到自动结算的全流程拆解
java·大数据·运维·人工智能·物联网·1024程序员节
木木子222 小时前
[特殊字符] 音乐播放器——状态驱动的多媒体控制
android·开发语言·华为·php·harmonyos
952362 小时前
RabbitMQ-基础操作
java·spring boot·分布式·后端·spring·rabbitmq
六个九十度3 小时前
用python脚本访问被网关隔离的嵌入式设备
开发语言·python
酷酷的身影3 小时前
Drivers/LedManager.cs
开发语言·php