Lock与synchronized的区别如下: 1.Lock是一个接口,synchronized则是内置的语言实现,在java中是一个关键字。 2.synchronized会自动释放锁,而Lock必须手动释放锁。 3.Lock可以让等待锁的线程响应中断,而synchronized不会,线程会一直等待下去。 4.通过Lock可以知道线程有没有拿到锁,而synchronized不能。 5.Lock能提高多个线程读操作的效率。 6.synchronized能锁住类、方法和代码块,而Lock是块范围内的。 7.Lock 实现了提供比使用 synchronized 方法和语句可获得的更