【发布时间】:2025-12-27 01:00:05
【问题描述】:
如果同时运行两个进程x=1、x=2 和x=x++,会发生什么?
【问题讨论】:
-
没人知道,行为未定义
-
进程还是线程?如果是线程,则完全取决于您如何编写代码。
-
如果你问当多个线程试图修改同一个值时会发生什么,那么你所说的就是竞争条件。
-
@Tia:单独的进程不共享内存中的变量。我认为您严重误解了一些基本概念,导致您对此事感到困惑。您是否有可以分享的行为异常的具体代码示例?
-
@David,事实上,说两个事件从在计算机硬件中同时发生是有道理的,因为当我们推理并行计算时,只有重要的事件是对共享变量的更新。计算机的内存系统总是将更新序列化到任何给定的物理内存位置。
标签: java multithreading