2011-11-17 48 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 
    }); 
相關問題