Java:在线程中执行语句

德勒

线程是一次完全运行一个语句还是该语句可能被拆分?

例如,在下面的语句中:

public void run() {
    System.out.println(aString + ": " + ++index);
}

可能的执行命令是什么?

拉维(Ravi K Thapliyal)

不,不能保证aThread会被抢占,因此您不能假设语句会自动完成实际上,甚至您的预增量++index操作也无法保证不间断地完成(我们这样做的原因AtomicInteger)。

枚举可能的执行顺序可能没有用,因为它们会不断从程序的一次运行更改为另一次运行(假设还有其他线程在运行)。这就是为什么我们要使用Lock同步来对多线程代码进行某种程度的控制。

有关更多详细信息,请参见并发

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章