在我自己的线程池中使用waitcallback委托

时间:2011-12-21 11:33:13

标签: c# .net multithreading

我想创建自己的自定义线程池。我的一个函数有WaitCallback委托作为参数,我想在基本的线程池中使用它来启动它从集合中的自由线程运行。

我的问题是我不知道如何使用WaitCallback委托(msdn和其他网站的唯一示例显示如何将方法放入带有委托的线程池中)来自线程池端。

你能否告诉我如何从WaitCallback获取方法(所以我可以开始在某个线程中运行),或者如果WaitCallback / threadpool以其他方式工作,它是如何工作的。

提前致谢!

2 个答案:

答案 0 :(得分:1)

WaitCallback仅仅是一个自定义委托类型。如果您看到声明,则会找到此public delegate void WaitCallback(object state);。 因此,您可以使用类型object的输入参数为其分配任何方法。示例public void MyMethod(object parameter)可以分配给WaitCallback wc = new WaitCallback(MyMethod)

答案 1 :(得分:0)

目前还不清楚你打算做什么。如果要激活新线程,可以使用:

public void ExecuteWork(WaitCallback wcb, Object param)
{
    Thread t = new Thread(
       o => 
       {
           wcb(o);
       });
    t.Start(param);
}