Java中synchronized 和 ReentrantLock 有什么不同?

提问者:帅平 问题分类:面试刷题

Java中synchronized 和 ReentrantLock 有什么不同?

1 个回答
Rae
Rae 管理员

Java在过去很长一段时间只能通过synchronized关键字来实现互斥,它有一些缺点。比如你不能扩展锁之外的方法或者块边界,尝试获取锁时不能中途取消等。Java 5 通过Lock接口提供了更复杂的控制来解决这些问题。ReentrantLock 类实现了 Lock,它拥有与 synchronized 相同的并发性和内存语义且它还具有可扩展性。

发布于:1个月前 (10-20)
我来回答