静态方法线程是否安全

时间:2011-12-03 20:12:10

标签: c# multithreading .net-4.0

如果我有一个静态方法将一个对象转换为另一个对象, 这个方法在C#中是否是线程安全的?

public static AnotherDataClass Convert(MyDataClass target)
{
     AnotherDataClass val = new AnotherDataClass();
     // read infomration from target
     // put information into val;
     return val;
}

只是想让问题更清楚......

当调用convert方法时....我们可以假设目标不会被修改。 因为Convert方法只对" attrubite"目标

1 个答案:

答案 0 :(得分:2)

不,不是。

“如果一个方法可以访问任何其他线程无法访问的数据,那么该方法将是线程安全的”如果此定义正确则该方法不是线程安全的

<强>原因

MyDataClass似乎是我的引用类型,因此多个线程可能会更改target变量