#c# #asynchronous #delegates
#c# #асинхронный #делегаты
Вопрос:
В настоящее время я асинхронно выполняю длительный процесс с использованием делегатов. этот процесс может быть вызван несколько раз в зависимости от заданных данных (например, количества сотрудников). мой вопрос касается влияния на производительность создания списка делегатов, ответственных за выполнение процесса.
Комментарии:
1. О каком размере мы здесь говорим, реально? Если это несколько, то я бы не стал беспокоиться об этом, но если число довольно велико, вы можете подумать об использовании
ThreadPool
Ответ №1:
При асинхронном вызове делегата вы используете поток из пула потоков. Оценка влияния этого на производительность вашего приложения, конечно, будет зависеть от вашего приложения. Например, в ASP.NET уменьшение количества рабочих потоков может иметь негативные последствия, поскольку будет меньше потоков, доступных для запросов на обслуживание.
Комментарии:
1. итак, в случае наличия трафика на моем сайте (что является текущим случаем) все ресурсы в пуле потоков будут полностью израсходованы?
2. @SShebly, опять же, это зависит, но удерживание потоков из пула потоков в течение длительных периодов времени может оказать негативное влияние на производительность веб-приложения.