Вам нужно дождаться ValueTask?C#

Место общения программистов C#
Anonymous
Вам нужно дождаться ValueTask?

Сообщение Anonymous »

Название говорит само за себя:
В спецификациях прямо сказано, что вы никогда не должны ожидать ValueTask более одного раза, потому что, в частности, в действительно асинхронном случае, резервный конечный автомат может быть объединяются и перерабатываются для других ValueTasks после ожидания.
А как насчет ожидания меньше одного раза, то есть никогда? Может ли это вызвать какие-либо проблемы? Например, можно ли будет вернуть состояние резервного копирования в пул, даже если никто не дождется результата?
async Task IsThisLegal()
{
var _ = SomeValueTask();
await Task.Delay(10);
// The value task would have completed by now, but we're not awaiting it. Is that ok?
}

async ValueTask SomeValueTask()
{
await Task.Delay(TimeSpan.FromSeconds(1));
return true;
}


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

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