2013-06-18 192 views
0

在C#中管理線程,我們可以按照如下使用線程池

System.Threading.Thread thd1 = new System.Threading.Thread(new System.Threading.ThreadStart(DoWork)); 
    thd1.Start(); 
    System.Threading.Thread thd2 = new System.Threading.Thread(new System.Threading.ThreadStart(DoWork)); 
    thd2.Start(); 
    thd1.Join(); 
    thd2.Join(); 

我們如何管理線程使用類似的線程池,而無需使用上面的語句創建線程?

+1

之一它是一個C#相關的問題? –

+0

是的。它已經在c#中完成了。它可能有許多程序並行運行;所以我想使用線程池,而不是管理單個線程,如果可能的話。 –

+0

因此,請使用ThreadPool類,然後使用QueueUserWorkItem方法。或者更高效地使用Task或BackgroundWorker類。否則很不清楚你想要「管理」什麼。 –

回答

0

在Java中的許多選項使用ThreadPoolExecutor的,這只是其中

private ExecutorService executorService = Executors.newCachedThreadPool(); 
... 
executorService.execute(new Runnable() { 
    @Override 
    public void run() { 
    ... 
    } 
});