我想了解ThreadPool.QueueWorkItem方法如何工作。但無法理解它是如何工作的。ThreadPool上的方法如何排隊
我創建了一個簡單的例子來測試ThreadPool,當我運行此代碼時,它快速循環並停在Thread.Sleep()行。那麼ThreadPool在這裏做了什麼。它是否將10000方法存儲在內部集合中,然後以異步方式執行它們。 (根據一些計算內部線程數可以是任何東西=>這是我所知道的)
- 如果有一個隊列(應該),我可以得到的物品(方法)計數正在等待在隊列上?
2.In例如WriteLine方法很簡單,但我真正appllication我遍歷50000項,並調用Web服務方法,數據庫選擇/插入/更新VB。對於數組中的每個項目。是否有可能做這種類型的事情?
class Program
{
static void Main(string[] args)
{
new Program().Looper();
}
public void Looper()
{
for (int i = 0; i < 10000; i++)
{
ThreadPool.QueueUserWorkItem(WriteLine, i);
}
Thread.Sleep(10000);
}
public void WriteLine(object str)
{
Debug.WriteLine((int)str);
}
}
你是怎麼得到一組50k方法的? – 2012-07-25 18:19:20
我從來沒有用真正的方法體來測試它 – Yucel 2012-07-25 18:22:59