不可变对象一定是线程安全的吗?

来源:5-2 不可变对象-2

lulengfeng

2018-06-10

如果在一个不可变对象里调用一个类的静态方法,而这个静态方法是非线程安全的方法,那么不可变对象还是线程安全的吗?

写回答

2回答

Jimin

2018-06-11

接上一个同学的回答,这里还是关键看对不可变对象的理解。是引用不可改,还是值不可改。

如果只是引用不可改但存储的值可改,那边就不一定是线程安全的。

0
0

路漫漫其修远兮xxx

2018-06-10

不一定的,因为不可变对象中包含有final定义的引用对象,此时引用对象的地址是不允许修改,但是引用对象的状态是允许修改的。

0
1
lulengfeng
"不可变对象创建完之后状态不可改变,因此是线程安全的",这是书上说的,具体我也不太了解
2018-06-10
共1条回复

Java高并发编程,构建并发知识体系,提升面试成功率

构建完整并发与高并发知识体系,倍增高薪面试成功率!

3923 学习 · 832 问题

查看课程