В .NET, когда вы делаете асинхронный вызов, я понимаю, что этот вызов разрешается в отдельном потоке, таким образом, не блокируя исходный поток, в котором был сделан вызов.
Как работает механика, стоящая за этим.Создается ли новый поток при каждом асинхронном вызове или существует общий асинхронный поток, который обрабатывает эти операции?Если это общий поток, во время выполнения выполните несколько асинхронных вызовов.И если порождаются отдельные потоки, не возникнет ли у приложения серьезных проблем с производительностью из-за одновременного выполнения слишком большого количества потоков, если за один и тот же период времени выполняется много асинхронных вызовов.