什么是阻塞和非阻塞的Web服务器,两者之间有什么区别?

时间:2009-12-18 06:07:59

标签: python webserver

我见过很多网页框架提供非阻塞的网络服务器,我只是想知道它是什么意思。

3 个答案:

答案 0 :(得分:51)

阻止网络服务器类似于电话呼叫。你需要在线等待获得回复并继续;非阻塞Web服务器就像一个短信服务。当你收到短信时,你发短信请求,做你的事情并做出反应!

答案 1 :(得分:28)

使用阻塞套接字,执行将等待(即“阻止”),直到完成套接字操作。因此,您可以立即处理代码中的任何结果/响应。这些也称为同步套接字。

非阻塞套接字操作将允许执行立即恢复,您可以使用回调或事件处理服务器的响应。这些被称为异步套接字。

答案 2 :(得分:4)

非阻塞通常意味着事件驱动,通过单个线程中的事件驱动系统复用所有活动,而不是使用多个线程。