JAVA中Lock锁机制是如何运作的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1014个文字,预计阅读时间需要5分钟。
同样都是锁,先说说synchronized和Lock的区别:
+synchronized是Java关键字,用于实现同步;而Lock是Java中提供的一个接口,用于实现锁。
Lock是Java 5引入的,它是synchronized的扩展,提供了更丰富的功能。synchronized是隐式的,而Lock是显式的。
synchronized可以锁对象和方法,而Lock可以锁任意资源。
synchronized在释放锁时,会自动解锁,而Lock需要显式调用unlock方法。
synchronized在发生异常时,会自动释放锁,而Lock不会。
synchronized是不可中断的,而Lock是可中断的。
synchronized是阻塞式的,而Lock可以是非阻塞式的。
synchronized可以锁对象和类,而Lock只能锁对象。
synchronized是隐式的,而Lock是显式的。
synchronized是Java内置的,而Lock是Java库的一部分。
本文共计1014个文字,预计阅读时间需要5分钟。
同样都是锁,先说说synchronized和Lock的区别:
+synchronized是Java关键字,用于实现同步;而Lock是Java中提供的一个接口,用于实现锁。
Lock是Java 5引入的,它是synchronized的扩展,提供了更丰富的功能。synchronized是隐式的,而Lock是显式的。
synchronized可以锁对象和方法,而Lock可以锁任意资源。
synchronized在释放锁时,会自动解锁,而Lock需要显式调用unlock方法。
synchronized在发生异常时,会自动释放锁,而Lock不会。
synchronized是不可中断的,而Lock是可中断的。
synchronized是阻塞式的,而Lock可以是非阻塞式的。
synchronized可以锁对象和类,而Lock只能锁对象。
synchronized是隐式的,而Lock是显式的。
synchronized是Java内置的,而Lock是Java库的一部分。

