我必須在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
對問題 –