Вы можете сделать что-то вроде этого:
void MyMethod(int param)
{
....
}
...
ThreadPool.QueueUserWorkItem(_ => MyMethod(1));
ThreadPool.QueueUserWorkItem(_ => MyMethod(2));
ThreadPool.QueueUserWorkItem(_ => MyMethod(3));
...
ThreadPool.QueueUserWorkItem(_ => MyMethod(42));
Другой вариант - заставить MyMethod
принять параметр типа Object
и использовать вторую перегрузку QueueUserWorkItem
:
void MyMethod(object param)
{
int value = (int)param;
....
}
...
ThreadPool.QueueUserWorkItem(MyMethod, 1);
ThreadPool.QueueUserWorkItem(MyMethod, 2);
ThreadPool.QueueUserWorkItem(MyMethod, 3);
...
ThreadPool.QueueUserWorkItem(MyMethod, 42);