简体   繁体   English

Android(Dalvik或ART)的按需初始化持有人?

[英]Initialization-on-demand holder with Android (Dalvik or ART)?

I know Initialization-on-demand holder idiom is great way to implement "Singleton". 我知道按需初始化持有人习惯是实现“ Singleton”的好方法。 https://en.wikipedia.org/wiki/Initialization-on-demand_holder_idiom https://zh.wikipedia.org/wiki/Initialization-on-demand_holder_idiom

But I'm not sure it is also safe to use in Android (Dalvik or ART). 但是我不确定在Android(Dalvik或ART)中使用它是否也安全。

Only I have found was, it is safe to use on JVM. 唯一发现的是,在JVM上使用是安全的。
http://literatejava.com/jvm/fastest-threadsafe-singleton-jvm/ http://literatejava.com/jvm/fastest-threadsafe-singleton-jvm/

Does anybody know about Initialization-on-demand holder idiom is safe on dalvik, or not? 有人知道按需初始化持有人成语在达尔维克是安全的吗?

Any help will be appreciated. 任何帮助将不胜感激。


Edited: 编辑:

In other word, Does Dalvik and ART guarantees (1) Thread safe, (2) Reentrance and (3) Uniqueness of static member of static inner class? 换句话说,Dalvik和ART是否保证(1)线程安全,(2)重入和(3)静态内部类的静态成员的唯一性?

Please find similar answer it may resolve your queries 请找到类似的答案,它可能会解决您的查询

Is Initialization On Demand Holder idiom thread safe without a final modifier 没有最终修饰符的按需初始化持有人惯用语线程安全吗?

The class initialization procedure guarantees that if a static field's value is set using a static initializer (ie static variable = someValue;) that value is visible to all threads: 类的初始化过程保证,如果使用静态初始化程序(即,静态变量= someValue;)设置了静态字段的值,则该值对所有线程都是可见的:

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM