我必须在ThreadPool上将一段代码作为单独的线程运行。ThreadPool线程完成其工作后调用方法
ThreadPool.QueueUserWorkItem(MyMethod,MyObjects);
一旦MyMethod完成,我需要运行另一个方法MyMethod2。我怎样才能做到这一点?
我必须在ThreadPool上将一段代码作为单独的线程运行。ThreadPool线程完成其工作后调用方法
ThreadPool.QueueUserWorkItem(MyMethod,MyObjects);
一旦MyMethod完成,我需要运行另一个方法MyMethod2。我怎样才能做到这一点?
这里有一个办法做到这一点:
ThreadPool.QueueUserWorkItem(o => { MyMethod(o); MyOtherMethod(); }, MyObjects);
添加说明等待,但是不会在每个线程上执行MyOtherMethod? – Tudor
@Tudor,是;除非我误解,这是OP想要的 –
您可以使用Task Parallel Library(TPL),而不是:
Task.Factory.StartNew(() =>
{
//your method call(s) here
})
.ContinueWith((task) =>
{
//your on completion code here
});
你的意思是,一旦整个线程池完成的工作,以执行该功能? – Tudor
对问题 –