【发布时间】:2014-05-04 15:53:56
【问题描述】:
我正在看Martin Odersky在coursera scala课程中他自己推荐的演讲,我对它的一个方面很好奇
var x = 0
async { x = x + 1 }
async { x = x * 2 }
所以我知道如果第一个语句先执行然后第二个语句,它可以给出 2:
x = 0;
x = x + 1;
x = x * 2; // this will be x = 2
我知道它是如何给出 1 的:
x = 0;
x = x * 2;
x = x + 1 // this will be x = 1
但是它怎么会导致 0 呢?该语句是否可能根本不执行?
对不起,这么简单的问题,但我真的坚持下去
【问题讨论】:
标签: scala asynchronous logic