这个 ENUM 代码线程安全吗?
enum One{
IONE;
public mone(){
// some code
}
}
当上面的代码不是安全的?
这个 ENUM 代码线程安全吗?
enum One{
IONE;
public mone(){
// some code
}
}
当上面的代码不是安全的?
一个枚举值保证在使用之前只能由单个线程初始化一次。但是,添加到枚举类的方法不带有任何线程安全保证。如果您有一个枚举以使方法不会更改其状态,那么根据定义它们是线程安全的
只要您的方法本身是,它就是。
枚举被特殊对待:
final
;static final
.One
枚举中没有共享数据,并且mone
(需要返回类型)中的所有变量都是本地变量。所以,这一切都取决于mone
. 如果该方法在其他类中使用带有状态的单例,您可能会遇到问题。