Вопрос

Ссылаясь на этот вопрос: Является ASP.NET многопоточным (как он выполняет запросы), будет ли это правильной интерпретацией многопоточности:ASP.NET имеет один рабочий процесс на экземпляр приложения.Он многопоточный, использующий собственный пул приложений.Большинство потоков используются для обслуживания запроса (пользователя).Каждый запрос (сеанс пользователя) - это один поток.Соответствующим ответом может быть другой поток.Пользовательский запрос поступает в виде нескольких потоков из ISAPI, который сам по себе является многопоточным.

AJAX не является многопоточным.Он использует ту же модель потоков, что и веб-сайты, отличные от AJAX.Запрос страницы (ajax или не ajax) может привести к использованию нескольких потоков на сервере, но это все равно один поток на клиенте (браузер использует один поток).

Это было полезно?

Решение

Короче говоря, да.В ASP.NET запрос / ответ обычно обрабатываются в одном потоке...нет четкого различия между "запросом" и "ответом", это просто ISAPI, передающий информацию о запросе в обработчик ASP.NET и он выполнит соответствующий код и запишет выходные данные.(Хотя существует механизм переноса запроса из одного потока в другой, когда ASP.NET находится под нагрузкой и ему необходимо эффективно использовать доступные потоки.Но я не уверен на 100% на детальном уровне в том, когда и почему это происходит.)

JavaScript и AJAX на стороне браузера не являются многопоточными, но некоторым это может показаться именно так, потому что вызовы AJAX являются асинхронными, а ответы - управляемыми событиями;то есть, как только запрос отправляется на сервер, поток JavaScript не блокируется.Вы можете бесплатно отправлять больше запросов на сервер, и ответы могут возвращаться, а могут и не возвращаться, в том же порядке, в каком они были отправлены.Однако, поскольку в ядре действительно есть только один поток, если два ответа вернутся одновременно, один будет блокировать выполнение другого до тех пор, пока оно не будет завершено.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top