一道多线程的题

题目:

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

原文地址:https://www.cnblogs.com/wang-can/p/3332190.html