读书人

发一个有关问题别人问小弟我得

发布时间: 2012-03-15 11:50:38 作者: rapoo

发一个问题,别人问我得。
关于线程安全的题目,

有两个线程,都对变量i进行操作。

++i;

每个线程跑100次循环。
i as global integer;
void func()

   100.time(){ ++i; }


伪码是这个意思。


问i的理论最小值。




[解决办法]
你说说
[解决办法]
只要理解 对于cpu来说一个指令才是一个原子
其他的原子都是靠一定处理来完成的
所以a b c任何一个步骤可以被任意时刻打断
[解决办法]
自己逼视一下自己的第一次回复

〉〉只要最后的两百条指令是MOV[test] EAX就可以了

仔细想一下,这种情况,不可能发生的,

MOV[test] EAX 没有执行的时候, 下一次循环的mov eax [test] 和后续指令不肯能执行的

唉…………………………………

读书人网 >C++

热点推荐