Механика асинхронных потоков - PullRequest
3 голосов
/ 20 июня 2010

В .NET, когда вы делаете асинхронный вызов, я понимаю, что этот вызов разрешается в отдельном потоке, таким образом, не блокируя исходный поток, в котором был сделан вызов.

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

Ответы [ 2 ]

2 голосов
/ 20 июня 2010

Я считаю, что эта статья MSDN должна ответить на все ваши вопросы.Обратите внимание, что большая часть вашей интуиции на самом деле верна.Все, что вам нужно сделать, это изучить детали.

Программирование пула потоков в .NET Framework

0 голосов
/ 20 июня 2010

Я бы предположил, что .NET Framework использует свой ThreadPool для чего-либо асинхронного, если вы сами не создадите и не создадите новый поток.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...