线程竞争条件

时间:2013-10-26 13:38:41

标签: multithreading thread-safety race-condition

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

n = 0

int tmp

do 10 times

    tmp = n
    n = tmp + 1

我知道这可以得到20和10,每个线程按顺序一直执行到最后,并通过一个线程将n加载到tmp,然后另一个完成将导致10。

我只是不确定这是否可以获得2。

1 个答案:

答案 0 :(得分:2)

我会说n将是> = 10且< = 20,而且我真的不知道你怎么能得到任何东西< 10.但整件事情是如此错误,我甚至不知道我为什么回答: - )