Synchronized与Lock的区别和优缺点 1. synchronized 是 Java 的⼀个内置特性关键字,⽽ Lock 是 Java 的⼀个接⼝类;2. synchronized 在发⽣异常时会⾃动释放线程占⽤的锁,⽽ Lock 在发⽣异常时(不发⽣也⼀样)需要主动在 finally 中调⽤ unLock() 去释放锁;3. Lock 可以让等待...
4.Lock 可以知道有没有成功获取到锁,而 synchronized 无法办到; 5.Lock 可以提高多线程进行读操作的效率,而 synchronized 不可以; 6.在性能上来说如果竞争资源不激烈则两者差距不大,如果竞争资源非常激烈(很多线程同时抢占)时Lock 的性能远远好于 synchronized; 7.不过要注意Lock 只能中断阻塞中的线程,一旦获取到...
4.Lock 可以知道有没有成功获取到锁,而 synchronized 无法办到; 5.Lock 可以提高多线程进行读操作的效率,而 synchronized 不可以; 6.在性能上来说如果竞争资源不激烈则两者差距不大,如果竞争资源非常激烈(很多线程同时抢占)时Lock 的性能远远好于 synchronized; 7.不过要注意Lock 只能中断阻塞中的线程,一旦获取到...