Что такое блокирующий и неблокирующий веб-сервер, в чем разница между обоими? - PullRequest
20 голосов
/ 18 декабря 2009

Я видел, как многие веб-фреймворки предоставляют неблокирующий веб-сервер, я просто хочу знать, что это значит.

Ответы [ 3 ]

51 голосов
/ 15 апреля 2011

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

28 голосов
/ 18 декабря 2009

Используя блокирующий сокет , выполнение будет ожидать (т. Е. "Блокировать"), пока не будет выполнена полная операция сокета. Таким образом, вы можете обрабатывать любые результаты / ответы в вашем коде сразу после. Они также называются синхронными сокетами.

A неблокирующая операция сокета позволит немедленно возобновить выполнение, и вы сможете обработать ответ сервера с помощью обратного вызова или события. Они называются асинхронными сокетами.

4 голосов
/ 18 декабря 2009

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

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