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

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java - 關(guān)于i++的一個(gè)題目

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

問(wèn)題描述

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

另外問(wèn)問(wèn),++i是否是原子性的?

問(wèn)題解答

回答1:

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

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

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

寄存器值++

寫回?cái)?shù)據(jù)到內(nèi)存

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

所以最終結(jié)果是 3。。。。

還沒(méi)有想到更小的調(diào)度方式。。。

最大值就不用過(guò)多解釋了。。。。

回答2:

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

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 久久影院视频 | 国产精品96久久久久久久 | 毛片aaa| 国产精品手机在线观看 | 中文字幕一区二区在线视频 | 国产成人一区二区三区在线播放 | dvd8090cnm欧美大片 | 亚洲中文字幕特级毛片 | 视频一区中文字幕 | 全高清特级毛片 | 欧美性videofree精品 | 日本欧美精品 | 亚洲性生活视频 | 亚洲天堂在线观看视频 | 国产三级a三级三级三级 | 亚洲视频一区二区在线观看 | 久久看视频 | 国产精品久久久久久久免费大片 | 免费播放aa在线视频成人 | 久草视频在线资源站 | 三级毛片基地 | 美女在线看永久免费网址 | 午夜毛片不卡高清免费 | 天天看片天天爽_免费播放 天天看夜夜 | 日本不卡一区二区三区在线观看 | 三级视频中文字幕 | 高清国产在线 | 国产高清成人 | 日本巨乳中文字幕 | 在线精品免费观看综合 | 国产真真人女人特级毛片 | 久久精品久久久久 | 波少野结衣在线播放 | 91久久99 | 久久精品vr中文字幕 | 欧美一级视频免费看 | 免费观看成年人视频 | 欧美日本在线视频 | 国产在线精品一区免费香蕉 | 在线观看a网站 | 久久国产成人精品国产成人亚洲 |