如果我有一个静态方法将一个对象转换为另一个对象, 这个方法在C#中是否是线程安全的?
public static AnotherDataClass Convert(MyDataClass target)
{
AnotherDataClass val = new AnotherDataClass();
// read infomration from target
// put information into val;
return val;
}
只是想让问题更清楚......
当调用convert方法时....我们可以假设目标不会被修改。 因为Convert方法只对" attrubite"目标
答案 0 :(得分:2)
不,不是。
“如果一个方法可以访问任何其他线程无法访问的数据,那么该方法将是线程安全的”如果此定义正确则该方法不是线程安全的
<强>原因强>
MyDataClass
似乎是我的引用类型,因此多个线程可能会更改target
变量