Почему можно ожидать блокировки Task.Delay(1)? [закрыто]C#

Место общения программистов C#
Anonymous
Почему можно ожидать блокировки Task.Delay(1)? [закрыто]

Сообщение Anonymous »

Недавно я столкнулся с ошибкой (подробности здесь), из-за которой блокируются следующие вызовы:

Код: Выделить всё

await Task.Delay(1);
Я явно ничего не понимаю в async/await, потому что предполагал, что если мой код выполняется до такой степени, что он выполняет этот вызов, то задача, выполняющая его, до вызова: не заблокирован. И Delay(1) приостанавливает эту же задачу на 1 мс.
Но как задача, которая выполнялась, теперь блокируется при этом вызове? Я спрашиваю не в контексте этой конкретной ошибки, а как в любой ситуации может заблокироваться вызов Delay()? Я думал (и явно ошибался), что блокировка означает, что что-то в вызываемом методе await должно быть заблокировано.
Я знаю, что мое понимание неверно. Что я не понимаю в том, что делает Delay()?

Подробнее здесь: https://stackoverflow.com/questions/787 ... lay1-block

Вернуться в «C#»