Исключение в QueueCompareProcessThread() Сообщение: Значение не попадает в ожидаемый диапазон. Трассировка: в System.Threading.WaitHandle.WaitMultiple(WaitHandle[] waitHandles, Int32 миллисекундыTimeout, логическое значение exitContext, логическое значение WaitAll) в System.Threading.WaitHandle.WaitAny(WaitHandle[] ожиданиеHandles, Int32 миллисекундыTimeout, логическое значение exitContext) в System.Threading. WaitHandle.WaitAny(WaitHandle[] ожиданиеHandles)
Я получаю указанное выше исключение, когда использую метод WaitAny
для WaitHandle
в потоке. Пожалуйста, помогите мне разобраться в проблеме. Вот моя часть кода:
public void QueueCompareProcessThread(QueueProcesses Qp)
{
try
{
WaitHandle[] pHandles = Qp.GetRunningProcessesHandles();
WaitHandle.WaitAny(pHandles);
Qp.RemoveExitedProcess(); // clearing the process list
// strange behavior is while clearing the process list i'm getting the exception in the thread Waitany method
// Does Waitany method still working after it returns?
}
catch (Exception e)
{
utils.Log("QProc Exception at QueueCompareProcessThread() Message:" + e.Message + " Trace:" + e.StackTrace);
}
}
Может ли кто-нибудь дать некоторое представление о методе WaitAny и помочь мне разобраться с проблемой?
ex.ToString()
вместо того, чтобы регистрировать только сообщение и трассировку стека. В настоящее время в вашем журнале отсутствует тип исключения. Если вы знаете тип исключения, вы можете найти его в документация в чем проблема. - person Dirk Vollmar   schedule 26.07.2016