摘要:
一、背景: 如果系统就是一个单体系统,不需要考虑这些问题,最多使用synchronized相关的锁解决并发问题。 但是一个分布式系统,肯定会遇到并发竞争共享资源的问题,这时通常就需要使用分布式锁解决。 二、举个栗子: 举个老生常谈的例子,商品库存的锁定。 用户购买iPhone,肯定需要锁定/扣减对应 阅读全文
摘要:
前面刚学习了AQS的基本原理,主要通过两个队列实现功能(同步队列+等待队列,前者是双向链表,实现加锁和解锁,后者是单向链表,用做同步协作,阻塞、唤醒),正好可以趁热打铁,了解一下ReentrantLock的源码,有了AQS的基础,阅读ReentrantLock的源码是非常简单的,如果没有了解AQS原 阅读全文