gpt4 book ai didi

Java:在线程中执行语句

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:50:29 26 4
gpt4 key购买 nike

一个线程是一次完整地运行一条语句还是语句可能被拆分?

例如,在下面的语句中:

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

可能的执行顺序是什么?

最佳答案

不,无法保证 Thread 何时会被抢占,因此您不能假设语句会原子地 完成。事实上,即使你的预递增 ++index 操作也不能保证不间断地完成(我们有 AtomicInteger 的原因)。

枚举可能的执行顺序可能没有用,因为它们会从程序的一次运行到另一次不断变化(假设还有其他线程在运行)。这就是为什么我们有 Lock s 和 synchronization为多线程代码带来一些表面上的控制。

参见 Concurrency了解更多详情。

关于Java:在线程中执行语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19609440/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com