相关疑难解决方法(0)

使用并行库添加到列表时保证线程安全的正确方法

我遍历一个连接字符串数组,并在每个循环中提取一些信息并添加到列表中.现在,我想使用并行库使其成为多线程,但我不确定该库是否保证对列表的写入是线程安全的,还是我需要使用锁定:

List<SomeType> list = new List<SomeType>();

settings.AsParallel().ForAll(setting => 
{
    list.AddRange(GetSomeArrayofSomeType(setting)); /// DO I NEED TO DO LOCKING HERE???
})
Run Code Online (Sandbox Code Playgroud)

c# multithreading thread-safety parallel-extensions

4
推荐指数
1
解决办法
6677
查看次数