在 C# 中使用 Parallel.ForEach 方法时,如果你尝试在并行循环中对共享变量进行赋值,很可能会遇到线程安全问题或竞争条件(race conditions),这可能导致数据不一致、程序崩溃或其他不可预测的行为。
问题描述
假设你有以下代码:
int sharedVariable = 0;
Parallel.ForEach(someCollection, item =>
{
// 假设这里有一些计算
int result = ComputeSomething(