synchronized和volatile的區別

這兩個關鍵字都是java提供的爲保證線程安全而存在的 簡單來說,他們的區別 1.synchronized可以保證原子性,以及可見性,而volatile只能保證可見性,也因此性能上volatile更勝一籌 2.volatile不會造成線程阻塞,因爲他只是告訴jvm每次使用變量都要獲取最新的值,而synchronized則是鎖定該變量 3.volatile只能用在變量,synchronized可以用在
相關文章
相關標籤/搜索