【发布时间】:2013-10-26 13:38:40
【问题描述】:
我有两个线程同时运行的算法
n = 0
int tmp
do 10 times
tmp = n
n = tmp + 1
我知道这可以得到20,并且每个线程依次执行到最后可以得到10,并且一个线程将n加载到tmp中,然后另一个完成将导致10。
我只是不确定这是否可以得到 2。
【问题讨论】:
-
比如,那是什么伪语言? w.r.t 对于线程,您必须首先定义这些变量的范围?不保证
n和tmp将是 20 和 10。
标签: multithreading thread-safety race-condition