色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

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

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

問題描述

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

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

問題解答

回答1:

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

一次循環過程是:

從內存讀取數據到寄存器

寄存器值++

寫回數據到內存

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

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

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

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

回答2:

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

標簽: java
相關文章:
主站蜘蛛池模板: 午夜国产高清精品一区免费 | 日韩在线中文字幕 | 国产一区二区三区久久 | 天天看片天天爽 | 欧美午夜伦y4480私人影院 | 欧美的高清视频在线观看 | 日韩黄色一级片 | 国产日韩免费 | 免费精品久久久视频 | 萌白酱在线喷水福利视频 | 久久亚洲国产伦理 | 国产偷国产偷亚洲高清在线 | 4455永久在线毛片观看 | 美女免费在线视频 | 国产成人高清在线观看播放 | 日本免费一级 | 亚洲精品一二三四区 | 亚洲一区二区三区免费 | 欧美激情毛片裸推荐 | 国产三级做爰高清在线 | 一a一片一级一片啪啪 | 天堂男人在线 | 九九久久精品这里久久网 | 午夜性刺激免费视频观看不卡专区 | 亚洲自拍中文 | 正在播放国产精品放孕妇 | 毛片免费观看的视频在线 | 男人的天堂高清在线观看 | 日本欧美一区二区三区不卡视频 | 欧美一级特黄特色大片免费 | 毛片基地看看成人免费 | 久久久久综合国产 | 免费的特黄特色大片在线观看 | 久久六视频 | 久久久一区二区三区 | 国产com | 亚洲一级二级三级 | 国产成人免费午夜性视频 | 精品一久久 | 国产成人三级经典中文 | 精品国产免费观看久久久 |