c# - C#获取属性的时候需要加锁吗

标签 c# .net properties thread-safety automatic-properties

在C#中,获取非volatile属性时是否需要加锁?我知道我们在设置属性时需要锁定。怎么样?

现在3.0提供了automatic属性,它本身是线程安全的吗?

最佳答案

不,automatic properties不是线程安全的。它们只不过是语法糖;编译器会自动生成私有(private)支持字段,就像您手动将它们写出来一样。

但是,除非您的应用程序从多个线程访问属性,否则一开始就没有理由担心这一点。很难从您的问题中判断您的应用是否是多线程的。

关于c# - C#获取属性的时候需要加锁吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5856854/

相关文章:

c# - 如何将您的 Unity 项目输入更新为 SteamVR 2.0?

c# - 如何定义相互依赖的属性

c# - 通过 EF 中的计算属性查询

java - 将 while 循环中的项目添加到 ArrayList java

.net - 在读/写操作中,属性与支持字段之间是否存在性能差异?

c# - Asp.net WEB API - 如果我使用 POST 而不是 PUT 和 DELETE 会出现什么问题?

c# - 如何检查当前对象日期是否比当前日期早 2 天?

c# - 静态字段与 session 变量

c# - 在 Azure 上使用 Codedom/CSharpCodeProvider 进行动态编译

c# - 无法从我的类库中捕获异常