您可以帮我理解下面代码段的输出吗?
Enum -
public enum SingletonEnum {
INSTANCE;
int num;
public void demo(){
System.out.println(num);
}
}
主类 -
public static void main(String[] args) {
Thread t1 = new Thread(new Runnable(){
public void run(){
SingletonEnum samp = SingletonEnum.INSTANCE;
samp.num= 5;
samp.demo();
}
});
Thread t2 = new Thread(new Runnable(){
public void run(){
SingletonEnum temp = SingletonEnum.INSTANCE;
temp.num= 8;
temp.demo();
}
});
t1.start();
t2.start();
}
o / p是8和8.但是如果我在枚举中添加一个私有构造函数,则o / p是5和8. o / p后面的逻辑是8和8。
答案 0 :(得分:0)
您的代码未同步。这只是未指定的行为,您可以在这种情况下观察任何事情。