Swoole比Node.js有哪些优势?

作者 : phpacg 本文共631个字,预计阅读时间需要2分钟 发布时间: 2018-04-24 共165人阅读

PHP的pecl库中有Libevent、Event 2个扩展,用PHP完全可以做异步编程。另外PHP也有pcntl、pthreads、sysvshm等扩展,PHP做多进程/多线程并发也是可以的。难的是如何将操作系统底层提供的功用整合起来,给用户层提供优雅的API。

PHP中的React.PHP应该是完全模拟Node.js的,Swoole就是Node.js的晋级版了。Swoole比Node.js封装的更初级一些,把Node.js存在未处置的效果都给处置了。Swoole最大的特点是封装的十分好,将底层完全隐藏起来,用户层代码可以复杂地完成功用的开发。

Swoole相关于Node.js最大的优势有3点:

并行效果,node.js是单线程的,无法应用到效劳器的一切CPU。想要处置只能自己用cluster/child_process扩展自行完成。假设不熟习多进程/多线程编程,这会十分困难,很容易出现BUG。而swoole是内置多线程/多进程,完全不需求用户思索,配置一下进程数即可。

Swoole除了支持异步非阻塞外,还可以同步阻塞,效劳器顺序可以以半同步半异步的方式运转。既处置了并发IO的效果,又大大较低了业务逻辑编程的难度。在众多swoole项目中这种形式的比例很高。Node.js这样纯异步、层层回调的方式,编程难度太高,过于复杂,出现BUG的概率也十分高。

Swoole基于PHP言语,作为一门效劳器端言语,天生就比作为前端的JavaScript言语更严谨规范。

常见问题FAQ

发表评论

提供最优质的资源集合

立即查看 了解详情