最简单的是用Task的WaitAll
Task<int, int>[] tasks = new Task<int, int>[n];
for (int i = 0; i < n; i++)
{
tasks[i] = Task.Factory.StartNew(i => { get(i); return 0; });
}
Task.WaitAll(tasks);
Task<int, int>[] tasks = new Task<int, int>[n];
for (int i = 0; i < n; i++)
{
tasks[i] = Task.Factory.StartNew(i => { get(i); return 0; });
}
Task.WaitAll(tasks);
{
for (int i = 0; i < n; i++)
{
get(i);
}
do();
});
{
Thread t = new Thread(new ParameterizedThreadStart(get));
t.Start(i);
}而且你的这种做法很有问题。如果n非常大,你岂不是创建了很多线程.
.NET 4.0么?