zoukankan      html  css  js  c++  java
  • php socket 同步异步堵塞非堵塞的区别

    php socket 同步异步堵塞非堵塞的区别

    从accept接受数据开始

    同步就是  服务端从客户端接受完数据  处理 然后发送给客户端了  然后再开始接收新的客户端发来的数据

    异步就是 服务端从客户端接受完数据 就可以再次继续接收   异步处理数据

    堵塞就是 服务端堵塞线程状态接收数据 (read)

    非堵塞就是 服务端挂起线程接收数据 (不断轮询去接受数据read) 这个期间还能做其他事情

    讲下epoll 同步非堵塞模式

    同步上面说了 一个个来的  非堵塞  就是  如果有数据了就到约定内存区域去读取read  这个期间线程不是堵塞的  所以epoll并不能提高速度 只是增加了并发量 epoll
    所以一般都是跟多线程合作 
     
    多线程epoll就会引起惊群 因为多个线程抢占资源 就是抢占读取数据   所以解决方法用端口复用  每个端口用1个epoll  这样 1个端口就是1个epoll 单线程
     
    以上是我个人理解如果出入请留言
     


    如果遇到什么不懂的地方直接关注公众号留言(本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。)
    作者:newmiracle
    出处:https://www.cnblogs.com/newmiracle/

     
  • 相关阅读:
    线程的休眠和中断
    线程的强制运行
    多线程基础
    jar文件につぃて
    Exception和RuntimeException
    异常的抛出
    java之适配器模式
    分支语句
    运算符与表达式
    练习课(一)
  • 原文地址:https://www.cnblogs.com/newmiracle/p/14527692.html
Copyright © 2011-2022 走看看