Lock和内置锁synchronized有相似的加锁机制。但是有一些功能就是内置锁无法实现的。
(1)无法中断一个正在等待获取锁的线程。
(2)无法实现非阻塞结构的加锁机制。
标准实现机制:
Lock l = ...;
l.lock();
try {
// access the resource protected by this lock
} finally {
l.unlock();
}
本文对比了Java中Lock接口与内置锁synchronized的功能差异。Lock提供了更高级的并发控制特性,如可中断等待、非阻塞性加锁等。通过具体代码示例展示了Lock的基本使用方法。
Lock和内置锁synchronized有相似的加锁机制。但是有一些功能就是内置锁无法实现的。
(1)无法中断一个正在等待获取锁的线程。
(2)无法实现非阻塞结构的加锁机制。
标准实现机制:
Lock l = ...;
l.lock();
try {
// access the resource protected by this lock
} finally {
l.unlock();
}
725
710
337
876

被折叠的 条评论
为什么被折叠?