国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

java - 關于i++的一個題目

瀏覽:122日期:2023-12-13 18:10:01

問題描述

使用2條線程對i=1進行自增(i++),每條線程各自執(zhí)行100次,請問可能的最大值和最小值是多少?請給出解釋

另外問問,++i是否是原子性的?

問題解答

回答1:

最小可以是 3,即 +2,最大 201,即 +200 。。。。為什么 i 不從 0 開始。。。

一次循環(huán)過程是:

從內存讀取數(shù)據(jù)到寄存器

寄存器值++

寫回數(shù)據(jù)到內存

一個線程可能在這三步中的任意一步被打斷。是3的情況是:第一線程讀取數(shù)據(jù)1,然后被掛起,寄存器的值被保存到另一個地方。第二個線程,持續(xù)執(zhí)行了 99 次(此時,內存中的值為 100),然后被掛起。第一個線程被喚醒,恢復寄存器的 1 +1 之后 (=2)被寫回內存,該線程被掛起第二個線程從內存讀取2到寄存器之后被掛起第一個全部執(zhí)行完,把值寫回內存喚起第二個線程,恢復寄存器中的2,完成最后一次循環(huán)+1 之后寫回 3

所以最終結果是 3。。。。

還沒有想到更小的調度方式。。。

最大值就不用過多解釋了。。。。

回答2:

最小值為2,最大值為200。2就是兩個線程都在CPU緩存修改數(shù)據(jù),最終內存只刷新了一次200 就是兩個線程交替讀取并修改,互相不競爭。都問最大值最小值了,自然不是原子性的。

標簽: java
相關文章:
主站蜘蛛池模板: 男人的天堂久久精品激情 | 狠狠色狠狠色综合久久一 | 97青草香蕉依人在线播放 | 国产亚洲一欧美一区二区三区 | 欧美一级片在线免费观看 | 国产精品路边足疗店按摩 | 亚洲国产成人久久99精品 | 欧美视频一区二区专区 | a级毛片免费高清视频 | 国产成人免费a在线资源 | 男人的天堂免费 | 欧美午夜成年片在线观看 | 精品国产品欧美日产在线 | 成人久久18免费游戏网站 | 中文一区二区在线观看 | 成年人www| 欧美最新的精品videoss | 久久久久香蕉视频 | 那里有黄色网址 | 午夜国产高清精品一区免费 | 国自产精品手机在线视频香蕉 | 国产精品1区 2区 3区 | 国产精品久久久久久爽爽爽 | 亚洲三级免费 | 精品自拍一区 | 国产在线乱子伦一区二区 | 99色视频在线观看 | 国产在线视频网址 | 97免费视频观看 | 日韩在线成人 | aaa级大片 | 免费视频久久 | 国产免费爽爽视频免费可以看 | 美国一级毛片不卡无毒 | 私人午夜影院 | 国产精品国产亚洲精品看不卡 | 在线观看91精品国产入口 | 免费在线国产视频 | 欧美另类视频一区二区三区 | 九九精品免视看国产成人 | 欧美视频精品一区二区三区 |