(Только теоретический вопрос - для не-gui-приложений)
Предполагая, что у меня есть этот код со многими awaits
:
public async Task<T> ConsumeAsync()
{
await A();
await b();
await c();
await d();
//..
}
Если каждая задача может занять очень короткий промежуток времени,
Вопрос (опять же, теоретический)
Там может быть ситуация, когда общее время имеет дело со всеми этими "освобождением назад потоков" и "выборкой потоков назад" (красный и зеленый здесь:)
Занимает больше времени, чем один поток, который мог бы выполнить всю работу с небольшой задержкой,
Я имею в виду, я хотел быть самым продуктивным, но вместо этого, поскольку все эти переключатели взад и вперед - я действительно потерял производительность.
Может ли такой сценарий произойти?