Lock和sychronized

二者都是可重入锁

1.synchronized的缺点

  1)当一个代码被synchronized修饰的时候,一个线程获取到了锁,那么其它线程需要等待这个锁的释放。锁释放只有两种,要么代码执行完毕自动释放,要么发生异常后JVM会让线程释放锁

  2)读和写冲突,写和写冲突,读和读操作不会冲突,但是使用synchronized的话,一个线程读,另一个线程也只能等待。

  3)使用该关键字时,无法知道线程是否成功获取到锁

2.使用ReadWriteLock可以提高多个线程进行读操作的效率。

posted on 2018-03-14 15:12  花溪的小石头  阅读(216)  评论(0编辑  收藏  举报