第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

伙計(jì)們,Runnable不是可以共享資源嗎,為什么我的結(jié)果是這樣的,奇怪。。。

伙計(jì)們,Runnable不是可以共享資源嗎,為什么我的結(jié)果是這樣的,奇怪。。。

bug俠 2017-10-08 19:32:54
這個(gè)程序的目的是用雙線程跑數(shù)據(jù),得出結(jié)果輸出。(只想輸出1個(gè)值)當(dāng)i等于10000時(shí),單線程結(jié)果是13580.357929997872雙線程結(jié)果是:(怎么輸出了兩個(gè)值,還跟單線程的結(jié)果不一樣)當(dāng)i等于100000000時(shí),單線程結(jié)果是1.3579357998825678E8雙線程結(jié)果是:(怎么輸出了兩個(gè)值,還跟單線程的結(jié)果不一樣,而且這兩個(gè)值還是兩個(gè)不同的值)這結(jié)果太奇怪了。。。付源碼package j120;public class j1200 implements Runnable {?? ?double a=1;?? ?long i;?? ??? ?public void run() {?? ??? ??? ?while(i<100000000) {?? ??? ??? ??? ?a+=1.357935793;?? ??? ??? ??? ?i++;?? ??? ??? ?}?? ??? ?System.out.println(a);?? ?}}package j120;public class j1201 {?? ?public static void main(String[] args) {?? ??? ?j1200 a=new j1200();?? ??? ?new Thread(a).start(); ?? ??? ?new Thread(a).start(); ?? ?//?? ?new Thread(a).start(); ?? ?//?? ?new Thread(a).start();?? ?}}
查看完整描述

1 回答

已采納
?
Developer_Zuck

TA貢獻(xiàn)112條經(jīng)驗(yàn) 獲得超42個(gè)贊

你兩次new的thread不是同一個(gè)對(duì)象,但這兩個(gè)不同對(duì)象中的handle指向了同一個(gè)對(duì)象,所以前面的改變了a值時(shí),后面取得的是對(duì)象本身內(nèi)的值,也就是改變后的值

如果你想得到兩個(gè)線程運(yùn)行的解果一樣,需要再次創(chuàng)建一個(gè)j1200對(duì)象,運(yùn)行后,結(jié)果一致。

j1200 a = new j1200();

j1200 a2 = new j1200();

new Thread(a).start();

new Thread(a2).start();


查看完整回答
反對(duì) 回復(fù) 2017-10-08
  • bug俠
    bug俠
    我的意思是想讓2個(gè)線程交互執(zhí)行同一個(gè)代碼,得出一個(gè)結(jié)果,并且這個(gè)結(jié)果和單線程的結(jié)果一樣
  • Developer_Zuck
    Developer_Zuck
    能運(yùn)行一下我的代碼嗎?結(jié)果不就是你說的這個(gè)嗎?放到你的代碼的相關(guān)位置 j1200 a = new j1200(); j1200 a2 = new j1200(); new Thread(a).start(); new Thread(a2).start(); 得出的結(jié)過就是兩個(gè)相同的結(jié)果啊,而且是兩個(gè)線程交互執(zhí)行的同一段代碼,即實(shí)現(xiàn)rannabl接口里面的run()方法里面的代碼
  • bug俠
    bug俠
    哎,我沒說明白,你這種是a按照?qǐng)D紙制造房子,a2按照同樣的圖紙制造房子,輸出2個(gè)房子。 我想讓2個(gè)線程按照同樣一張圖紙聯(lián)手制造1棟房子(是聯(lián)手),數(shù)據(jù)共通的。 也就是說第1個(gè)線程造完地板第2個(gè)線程就不用造地板直接造墻,第2個(gè)線程造完墻,第1個(gè)線程就不用造墻,直接造屋頂,最后得到一個(gè)房子。這是聯(lián)手,數(shù)據(jù)共通。
點(diǎn)擊展開后面2
  • 1 回答
  • 0 關(guān)注
  • 1367 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)