lock和sync区别
synchronized 是 Java 中的一个关键字,用于同步方法或代码块,确保只有一个线程可以执行被 synchronized 修饰的代码段。Lock 是 Java java.util.concurrent.locks 包中的一个接口,提供了与 synchronized 不同的锁操作。synchronized 锁是非公平的,不保证等待时间最长的线程优先获取锁。Lock 允许更灵活的锁控制,例如尝试获取锁、超时等待、可中断的锁获取等。Lock 可以实现公平锁,即按照线程等待的顺序来分配锁。










