[size=medium]
ReentrantLock 和 synchronize的 都是java 提供的锁机制,重入锁可以解决所有的内部锁的问题,那么问题来了,为什么还需要保持这两种锁同时存在呢。
首先确定一点,如果没有特殊要求,内部锁仍然是我们进行并发编程的首选。
在Jdk 1.5 之后,内部锁在性能上已经和重入锁相差不大。
但是重入锁提供了更为强大的功能,比如 提供了锁等待时间、支持锁中断、和快速轮询,这些技术有助于避免死锁的产生,从而提高系统的稳定性。
[/size]
ReentrantLock 和 synchronize的 都是java 提供的锁机制,重入锁可以解决所有的内部锁的问题,那么问题来了,为什么还需要保持这两种锁同时存在呢。
首先确定一点,如果没有特殊要求,内部锁仍然是我们进行并发编程的首选。
在Jdk 1.5 之后,内部锁在性能上已经和重入锁相差不大。
但是重入锁提供了更为强大的功能,比如 提供了锁等待时间、支持锁中断、和快速轮询,这些技术有助于避免死锁的产生,从而提高系统的稳定性。
[/size]