Здравствуйте, SkyDance, Вы писали:
SD>Так эти async/await и нужны именно для того, чтобы не писать рантайм по типу Эрланга.
Ну да, костыли в C# — вынужденная мера.
SD>Опять же, threadpool, если о нем думать как о scheduler'ах, и считать каждый Task отдельным "легковесным потоком", в общем-то, реализует данный сценарий. Просто инструментов для интроспекции там вообще нет, телеметрия ужасна, ну и в целом неэлегантно. Все-таки, Java уже скоро 30 (?) лет исполнится, а C# недалеко от нее ушел. В основном лишь в плане сахара.
Я бы согласился, если бы нельзя было создать блокирующую Task'у. Но в C# это делается очень легко и незаметно. После этого абстракция scheduler'а начинает течь со страшной силой, так как он уже не управляет потоками. Эти потоки у него могут забрать в любой момент и не отдать, после чего он уже schedul'ить не сможет