是否需要在使用多个线程更新共享数组时锁定此功能?前提是每个 Arrays 元素最多只能由 1 个线程访问(读取和写入)。
谢谢你。
例如
public string[] UpdateArray
(List<string> myList, Func<string,string>del)
{
int count = myList.Count;
string[] myArray = new string[count];
Parallel.For(0, count, i => myArray[i] = del(myList[i]));
return myArray;
}
更新:
它的预期用途如下,在 WPF 同步上下文中
public Task<string[]> updateArrayTask()
{
List<string> myList = GetMyList();
Func<string, string> del = MyDel;
var t1=Task<string[]>.Run(() => UpdateArray(myList, del));
return t1;
}
然后在异步函数中等待这个任务。