多路复用一样会阻塞用户线程,那它和同步阻塞有什么区别?
你好,我是yes。
之前看到一个提问:
多路复用一样会阻塞用户线程,那它和同步阻塞有什么区别?
我来简短的回答一下:
确实,对于监听用户请求的线程来说都会阻塞等待,不过成本不一样,同步阻塞模型是一个线程对一个用户,多路复用模型是一个线程对多个用户。
那之所以提出多路复用 IO 模型这个优化其实主要是利于服务端这边,服务本身需要考虑自身的承载压力、性能以及成本,它的目标就是用尽可能低的服务器成本 hold 住尽可能多的用户。
所以用一个线程 hold 住更多的用户,就是节省了服务端的成本。
如果把服务端比作一家公司,以前公司不出名,用户少,这时候招待客户都是专员VIP服务,一个专员对接一个用户,随叫随到。
这个专员就是监听的用户请求的线程,一直阻塞等待用户的请求。
而之后公司出名了,用户用来越多,如果还是保持专员VIP服务,那此时公司需要招更多的专员,这成本就大了(同时在线的线程就多了),并且这个专员的服务利用率也很低,因为好多用户一天没几个请求,让专员就这样等着,还要全额工资供着,极大的浪费,不利于企业的发展。
所以呢就想着搞了个多路复用,让一个专员服务多个用户,这样专员的利用率也高了,老板这工资给的也舒服了,用户呢其实感知不会很大,毕竟规划好的话,专员处理的效率还是很高的。
所以有什么区别?区别在于使得服务器资源充分利用,低成本以应对更多的用户。
因此还是老板舒服了。
我觉得公众号比较适合这样简短的文章,之后我打算挑一些小问题,避免长篇大论,来个简短回答系列。
我是yes,从一点点到亿点点,我们下篇见。
关键词
线程
服务端
一个线程
多路复用
最新评论
推荐文章
作者最新文章
你可能感兴趣的文章
Copyright Disclaimer: The copyright of contents (including texts, images, videos and audios) posted above belong to the User who shared or the third-party website which the User shared from. If you found your copyright have been infringed, please send a DMCA takedown notice to [email protected]. For more detail of the source, please click on the button "Read Original Post" below. For other communications, please send to [email protected].
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。