题目:
以下多线程对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这个式子的代码是一行,所以没法中断,所以就没必要互斥。而互斥又是同步的一种。