Несколько дней назад я исследовал фрагмент кода на ReferenceSource , в котором ожидание задачи в потоке выполнения было выполнено с использованием ((IAsyncResult)Task).AsyncWaitHandle.WaitOne()
вместо Task.Wait()
.Код был прокомментирован со ссылкой на то, что WaitOne()
имеет какое-то отношение к снижению вероятности тупика по сравнению с Task.Wait()
.К сожалению, я не могу вспомнить точное выражение, которое они использовали в комментариях, или фрагмент кода, который я изучал.Теперь я хотел бы понять, какие преимущества я получу, отдав предпочтение одному из них другому.