![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
锁
子之乐鱼之乐
偷得浮生半日闲
展开
-
synchronized与ReenTrantLock详解
synchronized与ReenTrantLock详解相似点:功能区别:底层实现区别便利性区别细粒度和灵活度区别性能的区别:SynchronizedReentrantLock公平锁、非公平锁的创建方式:ReenTrantLock实现的原理:相似点:这两种同步方式有很多相似之处,它们都是加锁方式同步,而且都是阻塞式的同步,也就是说当如果一个线程获得了对象锁,进入了同步块,其他访问该同步块的线程...转载 2019-08-13 10:49:03 · 135 阅读 · 0 评论 -
简单解释可重入锁与不可重入锁
简单解释可重入锁与不可重入锁相关内容地址:https://blog.csdn.net/u012545728/article/details/80843595可重入锁与不可重入锁的区别可以简单解释为:可重入锁在线程中使用时,可以反复嵌套调用同一个锁控制的代码块该种情形下会使该代码块的计数器增加(执行完毕相关代码块则会释放锁,计数器递减)而不可重入锁的使用必须保证该锁被释放后才能下一次获取该...原创 2019-08-13 10:56:20 · 233 阅读 · 0 评论 -
Java中的锁分类
Java中的锁分类公平锁/非公平锁可重入锁独享锁/共享锁互斥锁/读写锁乐观锁/悲观锁分段锁偏向锁/轻量级锁/重量级锁自旋锁公平锁/非公平锁公平锁是指多个线程按照申请锁的顺序来获取锁。非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。有可能,会造成优先级反转或者饥饿现象。对于Java ReentrantLock而言,通过构造函数指定该锁是否是...转载 2019-08-13 11:00:37 · 79 阅读 · 0 评论 -
方法锁、对象锁、类锁
关键点对象锁(方法锁)对象锁(亦方法锁),是针对一个对象的,它只在该对象的某个内存位置声明一个标识该对象是否拥有锁,所有它只会锁住当前的对象。一般一个对象锁是对一个非静态成员变量进行synchronized修饰,或者对一个非静态成员方法进行synchronized进行修饰,对于对象锁,同一类的不同实例即不同对象拥有不同的对象锁,因此其被加锁的非静态成员变量或方法的使用互不影响;对象锁,只有...转载 2019-09-04 19:42:07 · 497 阅读 · 0 评论