1
33
正如@Mike所说,枚举的创建是线程安全的。但是,添加到枚举类的方法没有任何线程安全保证。尤其是方法
|
2
10
自定义枚举定义可能不是线程安全的。例如, RoleEnum.java:爪哇
Main.java版本:
有时输出将是:
B调用fromIntegerValue&setBuildFromClass并开始睡眠 A开始 被称为fromIntegerValue的
线程A:类java.lang.String B醒了! <-我们期望java.lang.Integer 有时输出将是: A开始
一个叫做setBuildFromClass并开始睡眠 B开始
线程A:类java.lang.Integer < B醒了!
|
3
9
这种技术绝对是线程安全的。一个枚举值在使用前保证只由一个线程初始化一次。但是,我不确定是加载枚举类还是第一次访问枚举值本身。使用此技术实际上比其他技术更安全,因为甚至没有方法使用反射来获取基于枚举的单例的第二个副本。 |
4
2
添加 同步的 下面的代码将很好地锁定打印“一”。但是当你发表评论时 同步的
|