动态地为线程分配功能

时间:2014-01-28 05:22:51

标签: c# .net multithreading .net-4.0

想要生成一些线程并稍后在循环中为每个线程分配函数。

使用

生成线程
var threadList = new List<Thread>();
for (int index = 0; index < 3; index++)
{
    threadList.Add(new Thread(() => { }));
}

现在循环中想要为线程分配函数

for (int index = 0; index < names.Length; index++)
{
    string tempName = names[index];
    //check which thread is available
    //assign a function to the first available thread
}

我该怎么做?

如果我使用的是线程池: 所有线程完成后如何收到通知?如何阻止线程池在队列中执行任何测试?

1 个答案:

答案 0 :(得分:0)

难道你不能只使用ThreadPool吗?

System.Threading.ThreadPool.QueueUserWorkItem(myMethod);

这会将您的方法分配给可用的线程,完成后将释放该线程。