我有一个创建 2 个线程的 Java 程序,在这 2 个线程内,它们试图将全局变量更新abc
为不同的值,比如说整数 1 和整数 3。
假设他们同时(在同一毫秒)执行代码,例如:
public class MyThread implements Runnable{
public void run(){
while(true){
if (currentTime == specificTime){
abc = 1; //another thread update abc to 3
}
}
}
}
在这种情况下,我们如何确定变量的结果abc
?我很好奇操作系统如何安排执行?
(我知道应该使用 Synchronize,但我只是想自然地知道系统将如何处理这种冲突问题。)