我有一个接受List<int>
被调用的方法DoWork
。我有一个巨大 List<int> Ids
的. 我将庞大的列表拆分为 4 个子列表:
List<List<int>> t = (List<List<int>>)SplitColumn<int>(Ids);
(从将列表拆分为子列表SplitColumn
的答案略有修改)。
我暂停了程序并t
用调试器检查,它是四个列表,完全按照我的预期划分。
然后,我想要做的是产生四个线程(每个子列表一个)。我遇到问题的部分是通过四个列表。我遇到了超出范围的问题,我不确定这里发生了什么:
List<Thread> threads = new List<Thread>();
for(int i = 0; i < t.Count; i++)
{
threads.Add(new Thread(() => DoWork(t[i])));
}
foreach (Thread thread in threads)
{
thread.Start();
}
foreach (Thread thread in threads)
{
thread.Join();
}