嗨,我是使用并行任务的新手。我有一个需要并行运行多次的功能。下面是显示这一点的虚拟代码,
public MyClass GlobalValue;
static void Main(string[] args)
{
Task task1 = Task.Factory.StartNew(() => SaveValue());
Task task2 = Task.Factory.StartNew(() => SaveValue());
Task task3 = Task.Factory.StartNew(() => SaveValue());
}
public void SaveValue()
{
string val = GetValueFromDB();
if (GlobalValue == NULL)
{
GlobalValue = New MyClass(val);
}
else if (GlobalValue.Key != val)
{
GlobalValue = New MyClass(val);
}
string result = GlobalValue.GetData();
}
现在每次都调用 GlobalValue = New GlobalValue(val) 这一行。请帮我解决这个问题。我认为全局变量有问题。