相同点:
Lock能完成synchronized所能实现的所有功能
不同点:
Lock有比synchronized更精确的线程语义和更好的性能,synchronized自动释放锁,而Lock需要程序员手动释放,而且必须在finally语句块中释放,Lock还有更强大的功能,比如它的tryLock方法可以非阻塞方式拿锁。
简述synchronized和java.util.concurrent.locks.Lock的异同
最新推荐文章于 2021-11-24 15:53:50 发布
相同点:
Lock能完成synchronized所能实现的所有功能
不同点:
Lock有比synchronized更精确的线程语义和更好的性能,synchronized自动释放锁,而Lock需要程序员手动释放,而且必须在finally语句块中释放,Lock还有更强大的功能,比如它的tryLock方法可以非阻塞方式拿锁。