<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    方偉的博客
    j2ee技術、網絡、web等,同名的人真多,我的QQ是20025404
    posts - 21,comments - 14,trackbacks - 0
    以前一直沒在意,一直以為volatile修飾了就高枕無憂了,但其實不然,最簡單的一個場景:
    public class Counter {
     
        public volatile static int count = 0;
     
        public static void inc() {
     
            //這里延遲1毫秒,使得結果明顯
            try {
                Thread.sleep(1);
            } catch (InterruptedException e) {
            }
     
            count++;
        }
     
        public static void main(String[] args) {
     
            //同時啟動1000個線程,去進行i++計算,看看實際結果
     
            for (int i = 0; i < 1000; i++) {
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        Counter.inc();
                    }
                }).start();
            }
     
            //這里每次運行的值都有可能不同,可能為1000
            System.out.println("運行結果:Counter.count=" + Counter.count);
        }
    }

     這里運行結果依然不是期望的1000,主要原因簡單解釋如下:
     

    對于volatile修飾的變量,jvm虛擬機只是保證從主內存加載到線程工作內存的值是最新的

    例如假如線程1,線程2 在進行read,load 操作中,發現主內存中count的值都是5,那么都會加載這個最新的值

    在線程1堆count進行修改之后,會write到主內存中,主內存中的count變量就會變為6

    線程2由于已經進行read,load操作,在進行運算之后,也會更新主內存count的變量值為6

    導致兩個線程及時用volatile關鍵字修改之后,還是會存在并發的情況。

    posted on 2013-05-30 15:26 方偉的博客 閱讀(316) 評論(0)  編輯  收藏 所屬分類: J2EE相關

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产精品亚洲一区二区三区久久 | 最新猫咪www免费人成| 亚洲成Av人片乱码色午夜| 成人免费网站视频www| 亚洲国产成人影院播放| 香蕉国产在线观看免费| 亚洲国产精品尤物YW在线观看| 老司机免费午夜精品视频| 免费又黄又硬又爽大片| 暖暖免费中文在线日本| 国产亚洲精品资在线| 中文字幕乱理片免费完整的| 亚洲人成人网站色www| 无码AV片在线观看免费| 亚洲精品乱码久久久久久下载| 91黑丝国产线观看免费| 亚洲国产精品无码第一区二区三区| 麻豆国产精品入口免费观看| 免费无码婬片aaa直播表情| 国产亚洲大尺度无码无码专线| 男人进去女人爽免费视频国产| 97se亚洲综合在线| 最近中文字幕mv免费高清电影| 最新亚洲人成网站在线观看| 国产福利电影一区二区三区,亚洲国模精品一区 | 黄色一级免费网站| 亚洲一区二区三区影院| 国产精品免费大片| 亚洲偷偷自拍高清| 亚洲av无码国产精品色在线看不卡| 五月天婷婷精品免费视频| 亚洲av日韩av无码| 成人奭片免费观看| 一区二区三区免费视频播放器| 久久av无码专区亚洲av桃花岛| 四虎在线免费播放| 中文字幕视频在线免费观看 | 久久精品熟女亚洲av麻豆| 亚洲精品乱码久久久久66| 在线观看永久免费| 免费看黄网站在线看|