1. 程式人生 > >synchronized 和lock的區別摘要

synchronized 和lock的區別摘要

jvm blog 問題 鎖機制 發生 兩種 模糊 情況 線程鎖

一直想寫線程鎖相關的東西,然後自己之前也是有些模糊,自從開了一篇文章,感覺茅塞頓開 引文

http://www.cnblogs.com/dolphin0520/p/3923167.html

在這裏概括一下,防止自己忘卻:

1 :synchronized 是內置的,而lock是util的並發包中的

2 :前者一旦使用,只有兩種可能會釋放鎖。 一: 發生異常,由jvm自動釋放

                     二 :執行完畢,正常釋放

  後者使用後要想釋放鎖,只能調用unlock方法

  後者有唯一實現類 ReentrantLock 可重入鎖,相當於讀寫分離,可以將完善鎖機制的效率問題。在lock的情況下,任何一個線程調用了寫鎖,才會使其他線程進行等待,若是多個線程進行的都是讀操作,那麽,可以異步進行,不需要同步,提升效率

  

synchronized 和lock的區別摘要