2021年02月22日 周一 天气晴 【不悲叹过去,不荒废现在,不惧怕未来】
本文目录
1. 操作系统的原子操作
原子操作是不可分割的,在执行完毕前不会被任何其它任务或事件中断:
在单线程中, 能够在单条指令中完成的操作都可以认为是 原子操作,不能在单条指令中完成的操作也都可以认为不是原子操作,因为中断可以且只能发生于指令之间;
在多线程中,不能被其它进程(线程)打断的操作就叫原子操作;
2. 从汇编代码看 ++i 和 i++ 是否为原子操作
++i;
00007FF7D69F17E8 mov eax,dword ptr [i]
00007FF7D69F17EB inc eax
00007FF7D6