2011-11-17 52 views
3

我必须在ThreadPool上将一段代码作为单独的线程运行。ThreadPool线程完成其工作后调用方法

ThreadPool.QueueUserWorkItem(MyMethod,MyObjects); 

一旦MyMethod完成,我需要运行另一个方法MyMethod2。我怎样才能做到这一点?

+0

你的意思是,一旦整个线程池完成的工作,以执行该功能? – Tudor

+0

对问题 –

回答

5

这里有一个办法做到这一点:

ThreadPool.QueueUserWorkItem(o => { MyMethod(o); MyOtherMethod(); }, MyObjects); 
+0

添加说明等待,但是不会在每个线程上执行MyOtherMethod? – Tudor

+0

@Tudor,是;除非我误解,这是OP想要的 –

5

您可以使用Task Parallel Library(TPL),而不是:

Task.Factory.StartNew(() => 
    { 
     //your method call(s) here 
    }) 
    .ContinueWith((task) => 
    { 
     //your on completion code here 
    }); 
相关问题