gpt4 book ai didi

java - Java中的单例线程安全

转载 作者:行者123 更新时间:2023-11-29 05:15:49 26 4
gpt4 key购买 nike

基本上我正在阅读 developers.android.com 中的多线程指南,当我看到一些让我困惑的东西时......(我正在引用这篇文章

http://developer.android.com/training/multiple-threads/create-threadpool.html

)

在定义线程池类部分中,他们提到类应该有一个私有(private)构造函数以使其成为单例,作者声称通过这样做代码不需要同步。我很困惑为什么这是线程安全的,因为尽管它是一个单例,但它仍然可以被多个线程同时引用,从而导致内存一致性错误等。

最佳答案

他们的意思是:

  • 因为构造函数是私有(private)的,只有类内部的方法可以创建该类的实例
  • 创建该类的唯一实例是通过:

    static  
    {
    // Creates a single static instance of PhotoManager
    sInstance = new PhotoManager();
    }
  • static { ... } block 是线程安全的,因为它由同步的类加载器执行

关于java - Java中的单例线程安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26594422/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com