摘要: 概述 本文简易介绍下读写锁的策略 1.在公平锁的条件下,所有的锁都不允许插队 2.在非公平的条件下: 写锁是可以插队的(写锁插队可以避免饥饿) 读锁仅在等待队列头结点不是想获取写锁的线程的时候是可以插队的。 接下来我会从ReentrantReadWriteLock源码部分进行说明。 公平锁的条件下读 阅读全文
posted @ 2020-04-22 21:12 cnxieyang 阅读(476) 评论(0) 推荐(0)
摘要: 概述 什么是公平锁,什么是非公平锁? 公平锁是指按照线程的请求顺序去加锁; 非公平锁是指不完全按照线程的请求顺序进行加锁,一定情况下是允许插队的。 线程唤醒的开销比较大,使用非公平锁可以避免线程唤醒带来的空档期而导致资源的浪费。 公平锁与非公平锁代码演示 下面进行公平锁和非公平锁的代码演示,请看下代 阅读全文
posted @ 2020-04-22 20:01 cnxieyang 阅读(365) 评论(0) 推荐(0)
摘要: 本文从以下几个方面介绍Lock接口,分别从lock锁的介绍、为什么要用lock锁、方法介绍、可见性保证 Lock接口简介 Lock锁是一种工具,用来控制对共享资源的访问。 Lock锁和Synchronized锁两者各个有各自的使用场景,lock并不是来替换Synchronized锁的。 Lock接口 阅读全文
posted @ 2020-04-22 14:41 cnxieyang 阅读(516) 评论(0) 推荐(0)
摘要: 本文概述介绍下lock锁都有哪些,后续会进行详细介绍,请参照相关博客。 分别为:乐观锁和悲观锁、 可重入锁和非可重入锁(ReentrantLock)、 公平锁和非公平锁 共享锁和排它锁,以ReentrantReadWriteLock读写锁为例 自旋锁和阻塞锁 可中断锁 锁优化的方法 锁的分类如下 主 阅读全文
posted @ 2020-04-22 13:56 cnxieyang 阅读(1248) 评论(0) 推荐(0)
联系邮箱:cnxieyang@163.com