Я хочу запустить метод в пуле потоков. При создании следующего кода он дает ошибкуИспользование методов в пуле потоков
Перегрузка для 'метода' соответствует делегату '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
)?