Parallel.Invoke for c#中的线程

时间:2014-10-16 12:21:05

标签: c# .net multithreading invoke

任何人都可以告诉我如何从线程列表中一次调用所有线程。

实际上我已经在创建它们之后保存了列表中的所有线程但是如果我使用th.start()th.join()方法,则每个线程逐个启动。我希望他们立刻开始。

我使用时间函数来查看每个线程的开始和结束时间,但不会同时启动它们。

我正在开始这样的线程:

foreach (Thread st in threadss)
{
    st.Start();
    st.Join();
}

但我想这样开始:

Parallel.Invoke(() => st1.Start(), () => st2.Start(), .....);

请帮助

1 个答案:

答案 0 :(得分:3)

为什么不首先.Start(),然后.Join()呢?应该工作正常。

foreach (var st in threadss) {
    st.Start();
}
foreach (var st in threadss) {
    st.Join();
}