【发布时间】:2014-10-16 12:21:05
【问题描述】:
谁能告诉我如何从线程列表中一次调用所有线程。
实际上我在创建它们之后将所有线程保存在一个列表中,但是如果我使用th.start() 和th.join() 方法,每个线程都会一个接一个地启动。我希望他们立即开始。
我使用时间函数来查看每个线程的开始和结束时间,但它们都不是同时开始的。
我开始这样的线程:
foreach (Thread st in threadss)
{
st.Start();
st.Join();
}
但我想这样开始:
Parallel.Invoke(() => st1.Start(), () => st2.Start(), .....);
请帮忙
【问题讨论】:
-
你为什么打电话给
Thread.Join?我很好奇,因为您可能根本不使用这种模式的线程。 -
更重要的是,为什么需要自己制作线程池?你有什么不使用 TPL 的原因吗?
标签: c# .net multithreading invoke