【发布时间】:2010-11-25 13:08:43
【问题描述】:
我总是让这个特定的场景让我担心万年。假设我的班级是这样的
public class Person {
public Address Address{get;set;}
public string someMethod()
{}
}
我的问题是,我的开发人员同事告诉我,Address 类型的 Address 属性不是线程安全的。
从 Web 请求的角度来看,每个请求都在单独的线程上运行,并且每次 线程在我的业务对象或代码后面处理以下行,例如
var p = new Person();
它在堆上创建一个新的 Person 对象实例,因此请求线程可以访问该实例,除非我在我的应用程序中生成多个线程。
如果我错了,请向我解释为什么我错了以及为什么公共属性(地址)不是线程安全的?
任何帮助将不胜感激。
谢谢。
【问题讨论】:
标签: multithreading thread-safety