1. 程式人生 > >面試題總結七:volatile和synchronized的區別

面試題總結七:volatile和synchronized的區別

synchronized叫做同步鎖,是Lock的一個簡化版本,由於是簡化版本,那麼效能肯定是不如Lock的,不過它操作起來方便,只需要在一個方法或把需要同步的程式碼塊包裝在它內部,那麼這段程式碼就是同步的了,所有執行緒對這塊區域的程式碼訪問必須先持有鎖才能進入,否則則攔截在外面等待正在持有鎖的執行緒處理完畢再獲取鎖進入,正因為它基於這種阻塞的策略,所以它的效能不太好,但是由於操作上的優勢,只需要簡單的宣告一下即可,而且被它宣告的程式碼塊也是具有操作的原子性。