Java線程并發(fā)小例子的思考稚机,尋求大佬答疑解惑

我在整理Java并發(fā)相關知識點的時候微峰,準備寫個多線程不安全的例子來放在博客里面,由例子引出相關知識點來幫助自己理解抒钱,結果太讓我意外了……So,特發(fā)此文尋大佬答疑解惑……
這個例子在網(wǎng)上很常見,我不知道那些文章的作者在寫文章的時候谋币,自己有沒有去試試仗扬。

來,F(xiàn)or example:

    public int count = 0;
    public int TestVolatile(){
        final CountDownLatch countDownLatch = new CountDownLatch(1000);
        for (int i = 0; i < 1000; i++) {
            new Thread(new Runnable() {
                @Override
                public void run() {
                    try {
                        Thread.sleep(1);
                    } catch (InterruptedException e) {
                    }

                    count++;
                    countDownLatch.countDown();
                }
            }).start();
        }
        try {
            countDownLatch.await();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("<<<<<"+count);
        return count;
    }

Log:

System.out: <<<<<1000

理論上蕾额,上面例子肯定是線程不安全的早芭,返回結果肯定是<=1000的。
我本來以為是概率問題诅蝶,并發(fā)一千萬次退个,結果沒有一次是不安全的,返回結果都是:1000

于是我又嘗試把int改為Integer

    public Integer count = 0;
    public int TestVolatile(){
        final CountDownLatch countDownLatch = new CountDownLatch(1000);
        for (int i = 0; i < 1000; i++) {
            new Thread(new Runnable() {
                @Override
                public void run() {
                    try {
                        Thread.sleep(10);
                    } catch (InterruptedException e) {
                    }

                    count++;
                    countDownLatch.countDown();
                }
            }).start();
        }
        try {
            countDownLatch.await();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("<<<<<"+count);
        return count;
    }

Log:

03-18 03:00:16.098 5569-5569/com.example.myapplication I/System.out: <<<<<863
03-18 03:01:55.414 5569-5569/com.example.myapplication I/System.out: <<<<<1000
03-18 03:01:58.210 5569-5569/com.example.myapplication I/System.out: <<<<<976
03-18 03:02:00.426 5569-5569/com.example.myapplication I/System.out: <<<<<925

從Log可以看出调炬,改成Integer之后線程不安全了语盈。
按道理來說倆個都是線程不安全的,返回結果應該都是<=1000
Why缰泡?刀荒??
誰知道為什么棘钞?

結果來了:
我在安卓環(huán)境中:
第一種情況我個人試了確實為1000缠借,但是有網(wǎng)友試出來有<1000的情況,證明確實是線程不安全宜猜,只是概率問題泼返。
如果哪位大佬有高見,歡迎留言姨拥,看到會第一時間回復绅喉。再次感謝各位廣大網(wǎng)友。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末垫毙,一起剝皮案震驚了整個濱河市霹疫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌综芥,老刑警劉巖丽蝎,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異膀藐,居然都是意外死亡屠阻,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門额各,熙熙樓的掌柜王于貴愁眉苦臉地迎上來国觉,“玉大人,你說我怎么就攤上這事虾啦÷榫鳎” “怎么了痕寓?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蝇闭。 經(jīng)常有香客問我呻率,道長,這世上最難降的妖魔是什么呻引? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任礼仗,我火速辦了婚禮,結果婚禮上逻悠,老公的妹妹穿的比我還像新娘元践。我一直安慰自己,他們只是感情好童谒,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布单旁。 她就那樣靜靜地躺著,像睡著了一般惠啄。 火紅的嫁衣襯著肌膚如雪慎恒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天撵渡,我揣著相機與錄音融柬,去河邊找鬼。 笑死趋距,一個胖子當著我的面吹牛粒氧,可吹牛的內(nèi)容都是我干的稳衬。 我是一名探鬼主播第岖,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼棒假,長吁一口氣:“原來是場噩夢啊……” “哼贱枣!你這毒婦竟也來了?” 一聲冷哼從身側響起徒探,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤腊凶,失蹤者是張志新(化名)和其女友劉穎编矾,沒想到半個月后狼渊,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體箱熬,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年狈邑,在試婚紗的時候發(fā)現(xiàn)自己被綠了城须。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡米苹,死狀恐怖糕伐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蘸嘶,我是刑警寧澤良瞧,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布陪汽,位于F島的核電站,受9級特大地震影響褥蚯,放射性物質(zhì)發(fā)生泄漏掩缓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一遵岩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧巡通,春花似錦尘执、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至弥锄,卻和暖如春丧靡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背籽暇。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工温治, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人戒悠。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓熬荆,卻偏偏與公主長得像,于是被迫代替她去往敵國和親绸狐。 傳聞我的和親對象是個殘疾皇子卤恳,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 從三月份找實習到現(xiàn)在,面了一些公司寒矿,掛了不少突琳,但最終還是拿到小米、百度符相、阿里拆融、京東、新浪主巍、CVTE已日、樂視家的研發(fā)崗...
    時芥藍閱讀 42,207評論 11 349
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)段化,斷路器赛惩,智...
    卡卡羅2017閱讀 134,626評論 18 139
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法搞旭,內(nèi)部類的語法散怖,繼承相關的語法菇绵,異常的語法,線程的語...
    子非魚_t_閱讀 31,597評論 18 399
  • 01.后續(xù)工作 把后續(xù)工作做好可以甩開95%的競爭者镇眷。與對方見面后咬最,可以發(fā)郵件告訴他,你很高興遇見他欠动,一定要保持聯(lián)...
    那一片雛菊閱讀 184評論 3 3
  • 001 思考陷阱 由于語言的局限性永乌,人們不僅沒有把心里想的完整的表達出來,而且在表達過程中還由個人經(jīng)驗過濾了一遍具伍。...
    祈笙閱讀 137評論 0 2