在java里的赋值语句的线程安全性
int a = 1 是否线程安全?
int b = 2;
a= b 是否线程安全?
Object c = new Object() 是否线程安全?
我在博客里找到的答案是 第一个线程安全,第二个不知道,第三个线程不安全。
以下是我找到的一些解释:
int i = 1;
是线程安全的,因为这条语句会被翻译为一条指令iconst_1,不存在线程安全问题;
//A c = new A();
这个操作分为三部处理
1.栈里创建a的符号引用
2.堆里创建A对象
3.把a指向A
所以,这个赋值语句不是线程安全的
看不出问题里有任何共享的对象,谈何线程安全与否?