背景
第一次研究swoole:
看官网的手册学习,并写了一个“会员通知实时短信发送”【超级简单的应用,只用了swoole1%的东西】
第二次研究:
- 1、原因:学习PHP的多进程-PCNTL,学完发现:swoole可以更全面、更高性能的使用多进程。
- 2、总结:
A、PCNTL和swoole的原理类似,但不同。
B、PCNTL用PHP+c实现,应用级、生产级别没有现成的封装,要自己慢慢敲。优点:对多线程原理的理解深刻
C、swoole用纯c实现,控制的是Linux的kernel内核。最大发挥了Unix系统的高性能。***优点:封装的好***所以就离内核、内在原理、内在代码远,对了解多进程原理无意义。- 3、A多线程、B异步网络、C消息列队不同的框架设计:
A、 PCNTL 的fork()+pcntl_signal + B、socket网络连接且异步实现 + C、redis消息列队
【A中:pcntl_signal + declare(ticks = 1)对比pcntl_signal_dispatch,后者像是事件模式,前者类似while循环】
安装问题:
- 4.3源码里的examples里的server.php总是出错。
- 4.3是与之前截然不同的版本,需要额外安装PHP扩展:非协程特性独立扩展 (swoole_async)
- 安装swoole_async老是报错,所以只能放弃,选4.2version,这样就不能使用easySwoole了