powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / В чем смысл Task
7 сообщений из 7, страница 1 из 1
В чем смысл Task
    #39511964
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Методы контроллеров могут возвращать Task<Result> если внутри метода есть асинхронный код. Утверждается, что это повышает производительность т.к. освобождается данный поток, но откуда именно эта производительность появляется? Разве каждый запрос в IIS не открывается и так в новом потоке? Или в IIS количество потоков как-то ограничено? Если пришло одновременно 500 запросов, в чем проблема дать каждому по потоку?
...
Рейтинг: 0 / 0
В чем смысл Task
    #39511965
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenfordМетоды контроллеров могут возвращать Task<Result> если внутри метода есть асинхронный код. Утверждается, что это повышает производительность т.к. освобождается данный поток, но откуда именно эта производительность появляется? Разве каждый запрос в IIS не открывается и так в новом потоке? Или в IIS количество потоков как-то ограничено? Если пришло одновременно 500 запросов, в чем проблема дать каждому по потоку?Поток освобождается на время выполнения операций ввода/вывода, например запрос к БД или веб-сервису. Поток это достаточно дорогой ресурс, существуют задачи, в которых множество потоков может стать тонким местом.
...
Рейтинг: 0 / 0
В чем смысл Task
    #39511966
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenfordЕсли пришло одновременно 500 запросов, в чем проблема дать каждому по потоку?500 потоков, это как минимум 500 МБ ОЗУ под стеки этих потоков.
...
Рейтинг: 0 / 0
В чем смысл Task
    #39511970
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К500 потоков, это как минимум 500 МБ ОЗУ под стеки этих потоков.

ок, что произойдет в IIS если пришло 500 синхронных запросов каждый из которых процессится скажем минуту? IIS таки создаст каждому по потоку в этом случае? Или у нее где-то стоит ограничение на макс. количество потоков на пул?
Кроме того, в случае асинхронных методов получается что количество потоков должно быть меньше чем запросов, скажем 50 потоков на 500 запросов. Когда один из запросов завершился ему-же все равно нужен теперь поток что-бы вернуть ответ, откуда этот поток теперь возьмется, новый создастся? Потоки-же вроде не могут просто "хранится" где-то на всякий случай. Непонятно как тут выйгрыш-то появляется в производительности, ведь либо для завершения метода все равно нужно создавать поток, либо методы будут ждать пока им достанется свободный поток
...
Рейтинг: 0 / 0
В чем смысл Task
    #39512052
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford,

наберите в гугле, или яндексе следующее: "iis working threads".
...
Рейтинг: 0 / 0
В чем смысл Task
    #39512215
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford,

будут ждать
...
Рейтинг: 0 / 0
В чем смысл Task
    #39512216
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а воще это (ждать) зависит от планировщика
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / В чем смысл Task
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]