i是一个值为5的全局变量,函数v()由三个线程调用。
v()
{
i++;
i--;
}
线程未同步。
什么是不。我可能的结果是什么?
答案 0 :(得分:0)
输出始终为i=5
,因为i++
是单个语句(同样适用于i--
),语句的顺序为i++
和{{ 1}},结果始终为i--
。
如果您有i=5
而不是int tmp = i; i = tmp + 1;
,则可以i++
,因为i≠5
不是单一声明。
以下是两个线程(名为A和B)的所有可能性:
int tmp = i; i = tmp + 1;