syncronized与lock的区别

1.syncronized是jvm层面的内置关键字,lock是java的一个接口

2.syncronized实现线程同步如果线程一阻塞,线程二就会一直等待,lock则不会,会自动结束线程

3.syn会自动释放锁,lock需要手动在finally里释放(unlock),syn无法判断是否获得锁的状态,lock可以。

4.syn的锁可重入、不可中断、非公平。lock的锁可重入 可中断 公平

5.lock适合大量同步代码的同步问题,syn适合少量。

参考https://www.cnblogs.com/iyyy/p/7993788.html

你可能感兴趣的:(Java)