php socket 同步异步堵塞非堵塞的区别详解编程语言
2023-06-13 09:11:50 时间
从accept接受数据开始
同步就是 服务端从客户端接受完数据 处理 然后发送给客户端了 然后再开始接收新的客户端发来的数据
异步就是 服务端从客户端接受完数据 就可以再次继续接收 异步处理数据
堵塞就是 服务端堵塞线程状态接收数据 (read)
非堵塞就是 服务端挂起线程接收数据 (不断轮询去接受数据read) 这个期间还能做其他事情
讲下epoll 同步非堵塞模式
同步上面说了 一个个来的 非堵塞 就是 如果有数据了就到约定内存区域去读取read 这个期间线程不是堵塞的 所以epoll并不能提高速度 只是增加了并发量 epoll所以一般都是跟多线程合作 多线程epoll就会引起惊群 因为多个线程抢占资源 就是抢占读取数据 所以解决方法用端口复用 每个端口用1个epoll 这样 1个端口就是1个epoll 单线程 以上是我个人理解如果出入请留言原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/18973.html
cphp相关文章
- PHP立体安全:一网打尽攻击向量
- Redis实战:PHP开发者必备技能(redis实战php)
- 重新启动:在Linux下恢复PHP服务(linux重启php服务)
- 数据PHP简单操作实现MySQL数据输出(php输出mysql)
- PHP类里面调用全局的方法详解编程语言
- MySQL备份之用PHP编程(mysql备份php)
- PHP与Redis出色的结合(php连redis)
- Linux环境下,如何高效、简单地编写PHP代码(linux下写php)
- PHP实现在Linux系统中进行文件操作(php写linux文件)
- MySQL PHP长连接:持久化提升应用性能(mysql php长连接)
- PHP技术防止MSSQL注入风险(php防止mssql注入)
- Redis与PHP结合极致无限可能(redis 集合 php)
- Oracle和PHP完美配合提升数据库性能(oracle php配置)
- PHP应用Redis缓存带来的变化(redis缓存在php)
- 使PHP自定义函数返回多个值
- PHP字符转义相关函数小结(php下的转义字符串)
- PHP和Mysqlweb应用开发核心技术第1部分Php基础-1开始了解php
- 控制PHP的输出:缓存并压缩动态页面
- PHP使用ob_start生成html页面的方法
- php判断类是否存在函数class_exists用法分析