Multithreading 线程争用条件

Multithreading 线程争用条件,multithreading,thread-safety,race-condition,Multithreading,Thread Safety,Race Condition,我有两个线程同时运行的算法 n = 0 int tmp do 10 times tmp = n n = tmp + 1 我知道每个线程按顺序执行到最后,可以得到20和10,一个线程将n加载到tmp中,然后另一个线程完成将得到10 我只是不确定这是否能得到2。我会说n将>=10,这是什么样的伪语言?w、 对于线程,您必须首先定义这些变量的范围吗?不能保证n和tmp分别为20和10。

我有两个线程同时运行的算法

n = 0

int tmp

do 10 times

    tmp = n
    n = tmp + 1
我知道每个线程按顺序执行到最后,可以得到20和10,一个线程将n加载到tmp中,然后另一个线程完成将得到10


我只是不确定这是否能得到2。

我会说n将>=10,这是什么样的伪语言?w、 对于线程,您必须首先定义这些变量的范围吗?不能保证
n
tmp
分别为20和10。