作用
volatile關(guān)鍵字確保了應(yīng)用中的可視性孝冒。如果你將一個(gè)域聲明為volatile的,那么只要對(duì)這個(gè)域產(chǎn)生了寫操作拟杉,那么所有的讀操作都可以看到這個(gè)修改庄涡。即使使用了本地緩存,情況也確實(shí)如此搬设,volatile域會(huì)立即被寫入到主存中穴店,而讀取操作就發(fā)生在主存中。
一個(gè)任務(wù)所作的任何寫入操作對(duì)這個(gè)任務(wù)來(lái)說(shuō)都是可視的拿穴,因此如果它只需要在這個(gè)任務(wù)內(nèi)部可視泣洞,那么你就不需要將其設(shè)置為volatile的。
限制
- 當(dāng)一個(gè)域的值依賴于它之前的值時(shí)默色,volatile就無(wú)法工作了球凰。
- 如果某個(gè)域的值受到其他域的值的限制,那么volatile也無(wú)法工作腿宰。