#c_sharp #многопоточность #aspnet #mvc #async_await
Закрыт. На этот вопрос невозможно дать объективный ответ. Ответы на него в данный момент не принимаются. Хотите улучшить этот вопрос? Переформулируйте вопрос, чтобы на него можно было дать ответ, основанный на фактах и цитатах, отредактировав его. Закрыт 3 года назад. Читал на хабре статью про async/await и наткнулся на следующую строчку: Несмотря на то, что в ASP.NET нет выделенного UI потока, код в action-ах контроллеров не может выполняться более чем одним рабочим потоком одновременно. Исходя из этой строчки у меня возникают вопросы: Зачем так ограничивать action? Как это реализовано внутрях? lock в ActionInvoker'е?
Ответы
Ответ 1
Вы просто не совсем правильно поняли мысль, котору пытался донести автор статьи. Он не пытался сказать, что один конкретный метод Action не может выполняться в нескольких потоках - ведь достаточно очевидно, что это не так. Если у вас пришел десяток одновременных HTTP-запросов на один и тот же Action - то это Action будет выполняться одновременно в 10 разных потоках. Никаких блокировок там нет. Автор статьи на хабре имел ввиду, что один конкретный запрос - один конкретный вызов Action для обработки конкретного запроса - будет выполняться одним конкретным рабочим потоком, к которому при этом будет привязан HttpContext этого самого запроса.
Комментариев нет:
Отправить комментарий