c# - 这里需要线程安全代码吗?

标签 c# .net multithreading locking thread-safety

假设我们有一个可以被多个线程访问的对象和一个分发对象引用的全局单例,也可以被多个线程访问。

class Book {
    private string title;
    public Book(string title) {
        this.title = title;
    }

    public string Title { get { return title; } }
}

class BookstoreSingleton {

    public BookstoreSingleton Instance { ... }

    public Book Book { get { return this.book; } }
}

我是否认为 Book.TitleBookstoreSingleton.Book 都需要线程安全代码?

最佳答案

您的类看起来是不可变的并且是线程安全的。您不需要同步对这些属性的访问,因为它们只能被读取,只需确保您只初始化一次单例(Instance 属性)并且您不能再次为其赋值时间。

关于c# - 这里需要线程安全代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3594928/

相关文章:

c# - 编程字符串的表单资源使用情况?

c# - ASP Core HttpClientFactory 模式使用客户端证书

java - 哲学家就餐问题发生死锁时如何抛出异常?

c# - 获取组合框中的所有国家

c# - 将 xml 反序列化为 Linq to SQL 对象

.net - Windows 窗体中 (Rich)TextBox 的不可编辑部分

.net - 使用 aspx 渲染引擎生成非 HTML

c# - 如果有多个属性,如何对列表类型通用进行排序?

Java:同步操作与波动性究竟有何关系?

c# - 实现读取器/写入器 - 航空公司预订示例