synchronized 同步

匿名 (未验证) 提交于 2019-12-02 23:43:01

线程安全问题:
多线程同时操作同一份资源的时候,有可能出现线程不安全问题

**作用:**处理线程安全:

同步锁 synchronized(已同步的)

同步方法: 效率较低,简单
同步静态方法
同步成员方法

同步块: synchronized( this || 类名.calss || 资源(成员属性) ){…}

注意:
1.锁一定要锁不变的内容 自定义类型对象地址
2.锁的范围太大,效率低,锁的范围太小锁不住

double check 双重检查 效率高,锁的范围小

锁静态方法,锁类的class对象都是锁类,锁住了这个类的所有对象

锁方法
锁this:锁住对象所有的资源(成员属性),如果只想锁住某一个资源,那就可以直接就锁资源

锁资源,效率较高
注意:一定要锁不变的资源内容

转载请标明出处:synchronized 同步
文章来源: https://blog.csdn.net/digua930126/article/details/92004810
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!