在并发的时候,如果给以个单例的同一个属性同时赋不同的值会发生什么情况?是会报异常还是JAVA底层有处理方法?
期待解决。。。
1.首先说一点,你说的这种情况和单例无关。所谓单例其实就是在内存中维护同一个对象,你说的这情况其实就是对 对象的并发访问 。只与对象有关,与这个对象是不是就一个无关。
2.这种并发就和计算机组成原理有关了,如果是单核CPU,再复杂的操作,再同时的操作,计算机都会按顺序执行收到的指令,所以说即使是同时访问,计算器底层实际上也是按顺序的,某一时间点只执行一个指令,执行完之后再执行下一个。至于多核CPU怎么处理,就不太了解了。应该是有处理的方案。
如果并发环境,可以并发读,但并发写本身就是不允许的,需要同步。所以不会有你这样的问题。
建议你还是 sync这个对象吧