Здравствуйте, LWhisper, Вы писали:
LW>Так в том то и дело, что изначально 10000 соединений никто не отменял. LW>Они порождают 10000 тасок. Эти 10000 тасок порождают 10000 потоков. Эти потоки повисают на якобы асинхронном локе. Поток не может вернуться волшебным образом в пул или переключиться на выполнение другой задачи. Он будет висеть до посинения. Единственное, что я могу сделать — это вручную нагрузить его полезной работой. Фактически, async просто предоставляет удобный интерфейс для формирования APC очереди. Просто помимо проблемы 10000 потоков, я получаю довеском проблему исчерпания пула потоков.
А чем поток внутри занимается? Какова нагрузка на процессор?
Если он, что то ожидает то твой то нужно заменить все синхронные операции на асинхронные.
Thread.Sleep заменяется на await Task.Delay().
и солнце б утром не вставало, когда бы не было меня