这个ENUM代码线程安全吗?
enum One{
IONE;
public mone(){
// some code
}
}
当上面的代码不安全时?
答案 0 :(得分:4)
枚举值保证只能在使用之前由单个线程初始化一次。但是,添加到枚举类的方法不带任何线程安全保证。如果你有一个枚举,以便方法不改变它的状态,那么它们按照定义是线程安全的
答案 1 :(得分:1)
只要你的方法本身是。
特别对待枚举:
final
; static final
。答案 2 :(得分:0)
One
枚举中没有共享数据,mone
(需要返回类型)中的所有变量都是本地变量。所以,这一切都取决于mone
的内容。如果该方法在其他类中使用带有状态的单例,则可能会出现问题。