阅读 MSDN 文档时,它总是让您知道某个类是否是线程安全的。我的问题是你如何设计一个线程安全的类?我不是在谈论用锁定调用类我的意思是我正在为 Microsoft create XXX class\object 工作,我想说它是“线程安全的”我需要做什么?
最佳答案
使类线程安全的最简单和最万无一失的方法是使其成为immutable .它的美妙之处在于您不必再为锁定而烦恼。
秘诀:在 C# 中将所有实例变量设置为 readonly
(在 Java 中为 final
)。
- 不可变对象(immutable对象)一旦在构造函数中创建和初始化,就无法更改。
- 不可变对象(immutable对象)是线程安全的。期间。
- 这与只有常量的类不同。
- 对于系统的可变部分,您仍然需要考虑和处理锁定/同步属性。这是编写不可变类的首要原因之一。
查看此 question
关于c# - 设计线程安全类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3128717/