int tally=0;//全局变量 void ThreadProc(){ for(int i=1;i<=50;i++) tally+=1; }
[50,100]
[100.100]
[1275,2550]
[2550,2550]
考察视力。。。
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题
a线程对tally加1后,还没有更新tally在内存中的值,线程b读取tally值,执行加1,更新tally为1,然后a线程重新读取tally值,这样交替运行,最终为50
最大值的情况:
a线程对tally加到50后,更新tally在内存中的值为50,然后线程b读取tally值,再执行加50运算,结果为100;