synchronized 和 Lock 的区别一、synchronized 和 Lock 的用法区别二、synchronized 和 Lock 的性能区别三、synchronized 和 Lock 的用途区别四、总结
在分布式开发中,锁是线程控制的重要途径。Java 为此提供了两种锁机制,synchronized 和 lock。ReentrantLock 在内存上的语义与 synchronized 相同,但是它提供了额外的功能,可以作为一种高级工具。当需要一些可定时,可轮询,可中断的锁获取操作,或者希望使用公平锁,或者使用非块结构的编码时才应该考虑 ReetrantLock。在业务并发简单清晰的情况下推荐 synchronized,在业务逻辑并发复杂,或对使用锁的扩展性要求较高时,推荐使用 Reentrant