欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

volatile和synchronized的區別與聯系

呂致盈2年前14瀏覽0評論

volatile和synchronized的區別與聯系?

volatile和synchronized的區別:

1.volatile本質是在告訴jvm當前變量在寄存器(工作內存)中的值是不確定的,需要從主存中讀取;synchronized則是鎖定當前變量,只有當前線程可以訪問該變量,其他線程被阻塞住。

2.volatile僅能使用在變量級別;synchronized則可以使用在變量、方法、和類級別的。

3.volatile僅能實現變量的修改可見性,并能保證原子性;而synchronized則可以保證變量的修改可見性和原子性。

4.volatile不會造成線程的阻塞;synchronized可能會造成線程的阻塞。

5.volatile標記的變量不會被編譯器優化;synchronized標記的變量可以被編譯器優化。

JAVA線程阻塞有幾種,volatile和synchronized的區別與聯系