有熟悉libevent的么

flyrack 2015-10-18 07:18:07
发觉这个库的回调函数只要有一个阻塞了剩下的就不回调了,是我用的不对么,谁能给个不会阻塞的例子啊
...全文
112 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangyunzhao 2015-10-22
  • 打赏
  • 举报
回复
这个是单线程的事件驱动啊 建议楼主学习一个epoll或者iocp,看看基本原理
qldsrx 2015-10-20
  • 打赏
  • 举报
回复
单线程的啊,肯定是这样的,如果你的方法会阻塞,请把阻塞部分另开线程去执行。
盘古大叔 2015-10-19
  • 打赏
  • 举报
回复
一个进程中回调函数在同一时刻只会有一个事件在执行,楼主没明白事件驱动的含义吧
特性: 事件驱动、异步非阻塞、多进程单线程架构(Nginx/node.js相同的进程架构)。 纯PHP代码实现,所有代码开源,开发参考易于上手。 高性能,PHP命令行长驻内存方式运行, 省去了传统的基于请求的资源分配和释放。另外得益于基于libevent非阻塞网络模型,不必为每个连接分配线程或进程。 支持大量并发连接,理论上,只要内存足够大,连接数是无上限的。测试中,单机10万tcp连接时,消耗内存仅2.4GB。 稳定可靠,可长时间运行, 工作进程崩溃自动恢复。 使用Master-worker方式的多进程、单线程模型。实现了工作进程异常崩溃后的自动重启, 我们熟知的Nginx也使用了Master-worker进程模型,从而实现进程高可用性。 丰富的网络协议支持 支持TCP、UDP、Unix、SSL, 内置HTTP/WebSocket/Async Redis/Async TCP Client, 并支持自定义数据包解析,从而实现任何应用层协议。 SSL/reuse_port/cluster dispatcher/工作进程平滑重启等特性, 单个进程中可实现多端口监听、多个协议支持。 毫秒级定时器。 基于Yii2 Console框架开发,Yii2是一个事件驱动高性能主流PHP框架,内置完整的PHP命令行运行支持,内置功能模块丰富,组件化架构使整个系统易于扩展。 丰富的数据库支持和组件化扩展。 得益于yii框架的底层支持,支持大量的业务层功能需求,熟悉Yii web框架者可以直接上手实现业务层功能。 beyod不仅是一个网络底层开发框架,更是一个网络应用开发框架,可快速实现业务功能。 易于扩展,beyod使用composer/psr标准结构,可以很容易使用第三方PHP框架实现业务功能。

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧