我想创建自己的自定义线程池。我的一个函数有WaitCallback
委托作为参数,我想在基本的线程池中使用它来启动它从集合中的自由线程运行。
我的问题是我不知道如何使用WaitCallback
委托(msdn和其他网站的唯一示例显示如何将方法放入带有委托的线程池中)来自线程池端。
你能否告诉我如何从WaitCallback
获取方法(所以我可以开始在某个线程中运行),或者如果WaitCallback / threadpool以其他方式工作,它是如何工作的。
提前致谢!
答案 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);
}