for (int k = 0; k < ThreadCount + 1; k++)
{
tasks[k] = Task.Factory.StartNew(() =>
{
ScoreConcurrenMC(recCount, k);
});
{
tasks[k] = Task.Factory.StartNew(() =>
{
ScoreConcurrenMC(recCount, k);
});
}
这是lambda表达式延迟执行的问题,追加临时变量即可解决
for (int k = 0; k < ThreadCount + 1; k++) {
int kk = k; tasks[k] = Task.Factory.StartNew(() => { ScoreConcurrenMC(recCount, kk); });}