我对多线程比赛感到困惑吗?

时间:2017-05-08 17:49:07

标签: multithreading

我想知道撤销线程中的所有内容会发生什么?在这张图片中,存款和取款都影响了余额对象。我只想确定一些东西,右边的东西是存储的,如果是的话,它何时/如何再次出现。我也想确保我的词汇是正确的...在这种情况下我是否创造了竞争条件?

image

1 个答案:

答案 0 :(得分:0)

图片中显示的是"执行顺序"的运作。因此假设您只有一个CPU,CPU首先从Deposit线程执行两个操作,切换到Withdraw线程并执行4个操作,然后切换回Deposit线程并再执行两个操作。

所以这就是图片中问题的答案"所有这一部分都永远消失了吗?#34;:在您指向的空白区域表示的时间,Withdraw线程只是闲置(或终止)。