开发者社区 问答 正文

c#静态构造函数线程安全吗?

换句话说,此Singleton实现线程是否安全:

public class Singleton
{
    private static Singleton instance;

    private Singleton() { }

    static Singleton()
    {
        instance = new Singleton();
    }

    public static Singleton Instance
    {
        get { return instance; }
    }
}

展开
收起
游客ufivfoddcd53c 2020-01-03 19:18:42 1131 分享 版权
1 条回答
写回答
取消 提交回答
  • 保证静态构造函数在每个App Domain中仅触发一次,因此您的方法应该可以。但是,它在功能上与更简洁的嵌入式版本没有什么不同:

    private static readonly Singleton instance = new Singleton();
    
    

    延迟初始化事物时,线程安全性更成问题。

    2020-01-03 19:19:24
    赞同 展开评论
问答分类:
问答标签:
问答地址: