线程同步

线程同步

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

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

乱或缺省。

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

的原子操作。

同步代码块

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

·位置:定义在方法内部

·synchronized (临界资源对象)

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

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

线程同步·

注意:

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

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

<

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

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

相关推荐
凤山老林2 小时前
04-Java JDK, JRE和JVM
java·开发语言·jvm
小成202303202658 小时前
Linux高级02
linux·开发语言
camellias_8 小时前
【无标题】
java·tomcat
知行合一。。。8 小时前
Python--04--数据容器(总结)
开发语言·python
咸鱼2.08 小时前
【java入门到放弃】需要背诵
java·开发语言
ZK_H8 小时前
嵌入式c语言——关键字其6
c语言·开发语言·计算机网络·面试·职场和发展
A.A呐8 小时前
【C++第二十九章】IO流
开发语言·c++
椰猫子8 小时前
Java:异常(exception)
java·开发语言
lifewange8 小时前
pytest-类中测试方法、多文件批量执行
开发语言·python·pytest
cmpxr_9 小时前
【C】原码和补码以及环形坐标取模算法
c语言·开发语言·算法