欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

volatile-創(chuàng)新互聯

是java虛擬機提供的輕量級的同步機制(乞丐版的synchronized)

專注于為中小企業(yè)提供網站設計制作、成都網站設計服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)新和免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯網行業(yè)人才,有力地推動了1000多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現規(guī)模擴充和轉變。

具備三個性質:保證可見性,不保證原子性,禁止指令重排

前置知識:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??java內存模型 (Java Memory Model) JMM_Pr Young的博客-博客? ? ? ? ? ? ? ? ? ??

JMM這組規(guī)范關于同步的規(guī)定:

1.線程解鎖前,必須把共享變量的值刷新回主內存

2.線程加鎖前,必須讀取主內存的最新值到自己的工作內存

3.加鎖和解鎖是同一把鎖

1.保證可見性:當一個線程修改了某個共享變量的值時,其他線程是否能夠立即知道這個修改。

volatile int number=0;

這樣就可以保證,一個線程更改了共享變量number的值,其他線程也能立即知道這個修改? ? ? ? ? ?

2.不保證原子性:

原子性:某個線程正在做某個具體業(yè)務的時候,不見不可以被打擾? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

volatile int number=0;

同樣用volatile修飾共享變量,然后用20個線程都對這個共享變量進行加一操作,理論上講,最后number的值應該是20,但實際上最后答案并不是20,這說明valatile不保證原子性

3.禁止指令重排

指令重排是指在程序執(zhí)行過程中, 為了性能考慮, 編譯器和CPU可能會對指令重新排序

在單線程環(huán)境中, 程序是按序依次執(zhí)行的

在多線程環(huán)境中, 程序的執(zhí)行可能因為指令重排而出現亂序

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

網頁題目:volatile-創(chuàng)新互聯
文章來源:http://chinadenli.net/article22/dijgjc.html

成都網站建設公司_創(chuàng)新互聯,為您提供商城網站營銷型網站建設網站營銷用戶體驗移動網站建設響應式網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

外貿網站建設