Я пытаюсь обойти ограничение дескриптора wait64, которое накладывает .net 3.5
Я видел эту тему: Обходной путь для ограничения дескриптора WaitHandle.WaitAll 64?
Итак, я понимаю общую идею, но у меня возникают трудности, потому что я не использую делегата, а, скорее,
Я в основном работаю над этим примером: http://msdn.microsoft.com/en-us/library/3dasc8as%28VS.80%29.aspx
Эта ссылка http://www.switchonthecode.com/tutorials/csharp-tutorial-using-the-threadpool аналогичен, но снова переменная int, отслеживающая задачи, является переменной-членом.
Куда в приведенном выше примере передать целое число threadCount? Могу ли я передать его в методе обратного вызова как объект? Я думаю, у меня проблемы с методом обратного вызова и передачей по ссылке.
Спасибо Стивен,
Мне эта ссылка не совсем понятна.
Разрешите опубликовать свой код, чтобы помочь себе уточнить:
for (int flows = 0; flows < NumFlows; flows++)
{
ResetEvents[flows] = new ManualResetEvent(false);
ICalculator calculator = new NewtonRaphson(Perturbations);
Calculators[flows] = calculator;
ThreadPool.QueueUserWorkItem(calculator.ThreadPoolCallback, flows);
}
resetEvent.WaitOne();
Куда бы я передал свою переменную threadCount. Я предполагаю, что его нужно уменьшить в калькуляторе.