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

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

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
相關文章:
主站蜘蛛池模板: 亚洲免费色视频 | 亚洲精品国产手机 | 黄a网站| 中文字幕一二三区乱码老 | 亚洲在线观看视频 | 久久国产高清 | 欧美人禽杂交狂配毛片 | 亚洲bt欧美bt国产bt | 拍拍拍又黄又爽无挡视频免费 | 最刺激黄a大片免费观看下截 | 男人天堂欧美 | 亚洲日本综合 | 欧美一欧美一级毛片 | 国产情侣久久精品 | 亚洲手机在线 | 看美国毛片 | 女人张开腿让男人捅爽 | 欧美国产日本高清不卡 | 欧洲做人爱c欧美 | 国产高清亚洲 | 欧美日韩一区二区三区在线播放 | 成人免费观看网欧美片 | 亚洲区精品 | 欧洲色老头 | 国产视频日韩 | 亚洲一区二区三区影院 | 成年人视频在线免费看 | 成人国内精品久久久久影院 | 日本一在线中文字幕天堂 | 国产三级香港在线观看 | 盗摄偷拍a在线观看 | 久久99热只有视精品6国产 | 欧美高清在线精品一区 | 欧美日韩另类视频 | 亚洲综合精品一二三区在线 | 成人男女啪啪免费观看网站 | 国产精品制服 | 2019国产精品 | 中文字幕成人免费视频 | 欧美精品久久久久久久影视 | 免费看一级欧美激情毛片 |