我想在線程池中運行一個方法。雖然建下面的代碼它給出了一個錯誤在線程池中使用方法
沒有重載「方法」匹配委託「System.Threading.WaitCallback」。
我知道哪裏有錯誤發生,但我不知道爲什麼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace Thread_Pool
{
class Program
{
static void Main(string[] args)
{
ThreadPool.QueueUserWorkItem(new WaitCallback(PrintNumbers));
// PrintNumbers();
}
static void PrintNumbers()
{
for (int i = 0; i < 10; i++)
{
Console.WriteLine(i);
Thread.Sleep(3000);
}
}
}
}
當上面的代碼被改寫爲以下,它工作正常。
static void PrintNumbers(object Stateinfo)
爲什麼會發生這種情況?可以使用另一種類型(如int
,float
)來代替使用對象?