synchronized和lock的区别
- synchronized是Java关键字,用于线程同步,lock是juc包提供的处理并发的锁
- synchronized不需要手动加锁和解锁,lock需要手动加锁和解锁,注意解锁必须写在finally中
- synchronized可以用在代码块,方法上,lock只能用在方法上
- synchronized性能比lock差,jdk1.6之后性能得到提升,采用锁升级的方式
- synchronized锁粒度粗,lock可以分读写锁,锁粒度更细
- synchronized无法手动获取是否有锁,lock可以获取是否加锁,以及等待时长,更灵活
本文如有任何问题,请留言指教,以免误导他人