volatile與synchronized區(qū)別:
volatile不會(huì)進(jìn)行加鎖操作桐磁。因此也不會(huì)使執(zhí)行線程阻塞秋柄,因此volatile是一種比sunchronized關(guān)鍵字更加輕量級(jí)的同步機(jī)制辖试。
volatile適用于一寫(xiě)多讀的場(chǎng)景冒黑。只保存內(nèi)存的可見(jiàn)性熄攘,不保證原子性(JMM模型+內(nèi)存屏障姚淆,每一次讀操作前孕蝉,都會(huì)進(jìn)行刷新,確保讀取到的數(shù)據(jù)是主存中最新的值腌逢,read->load操作中無(wú)法保證安全降淮,所以不保證原子性)。sycnhronized(加鎖機(jī)制)保證了原子性和可見(jiàn)性搏讶。
ReentrantLock與synchronized區(qū)別?
可重入鎖與synchronized鎖區(qū)別?
synchronized改版后是可重入鎖佳鳖,修飾代碼塊和普通方法獲取的是對(duì)象鎖(即內(nèi)置的monitor鎖),修飾靜態(tài)方法獲取的是.class的類鎖媒惕。