synchronized 的替代品 ReentrantLock

本来这篇文章打算写下细粒度锁的几种通用实现的,但在实践的过程中,我觉得有必要先介绍一下 ReentrantLock 这个类,可能大部分人都没有使用过,其实我也是一样,在接触到这个类之前都是只用过 synchronized 关键字,直到接触到了 ReentrantLock 这个类才知道还有这个东西,哎


如何检测死锁?怎么预防死锁?

概念锁死是指两个以上的进程在执行过程中,因争夺资源而造成的一种相互等待的现象,若无外力作用,它们都将无法推进下去。此时称系统中处于锁死。死锁的四个必要条件互斥条件进程对所有分配到的资源不允许其他进程进行访问,若其他进程访问该资源,只能等待,直至占有该资源的进程使用完成后释放该资源。请求和保持条件进程