题目:
以下多线程对int型变量x的操作,哪几个不需要进行同步(D)
A. x=y; B. x++; C. ++x; D. x=1;
为什么选择D?
我写了一段代码,并进入到汇编模式:
代码:
#include <iostream> using namespace std; void main() { int x = 1, y = 2; x = y; x++; ++x; x = 1; }
汇编后的代码:
大家可以注意一下,只有x=1这个式子的代码是一行,所以没法中断,所以就没必要互斥。而互斥又是同步的一种。