您好,欢迎访问一九零五行业门户网

异步 PHP 是什么?

同步编程与异步编程的区别在讨论异步php的优点之前,让我们快速回顾一下同步编程模型和异步编程模型之间的区别。同步代码是逐行顺序执行的。必须先完
成前面的任务,然后才能开始另一个任务。在异步代码中,可以同时完成多个任务,这可以大大提高应用程序性能和用户体验。
相关课程推荐:《php编程入门到精通》
什么是同步php?同步php是指使用同步模型编写的php代码。php最初是为了支持同步开发而创建的,因此大多数php开发人员习惯于使用该语言编写同步代码。使用apache的mod_php或使用apache或nginx的php-fpm进行prefork。
你在寻找php的基础教程吗?查看此 blog, php开发基础:什么是php,为什么如此流行,以及php的优点是什么?。
什么是异步php?异步php是指使用异步模型编写的php代码。通过使用诸如swoole之类的扩展,或诸如reactphp之类的php框架,您可以使php使用事件循环异步地接受请求和响应。
同步和异步php编程的主要区别是什么呢?在许多应用程序中,cpu在i / o任务期间处于空闲状态的时间很多。异步php思路是通过使非阻塞i / o任务在后台运行,在cpu等待完成i / o所需的数据和指令时处理其他任务,充分利用所有可用的cpu周期来执行其他任务。 同步php,cpu将仅处理i / o任务。当前任务完成后,继续处理队列中的下一个任务。
与同步php编写的应用程序相比,使用异步php可以实现闪电般的性能.。在一些基准测试中, 相较于在同步代码中使用类似 php-fpm的进程加速器,使用swoole启用异步php可以将吞吐量提升100倍。这就是为什么php-fpm不支持使用类似websockets协议进行异步实时通信的原因。
你应该使用哪一个php?与大多数有关运行、web服务器和一般的编程问题一样,不同的案例会决定是使用同步php还是异步php。要使用异步php,你的代码必须支持它。php开发人员习惯使用的大多数的扩展都会阻塞进程的调用(也称为i/o阻塞),这使得异步模型不可实现。
例如,要利用swoole,当遇到一个i/o请求调用时,它需要将该调用发送到后台,然后继续执行下一条指令。当i/o调用返回数据时,swoole需要将控制权归还给已经发送到后台的i/o调用,以便它可以控制请求数据给进程。重写你的代码去支持异步进程可能需要一些重构才能工作。但是,将来你节省下来的时间可能是值得的。
开始异步php项目由于你编写的代码方式要支持异步进程,你必须利用一个可以这么做的项目。这里有我们的前三项建议:
swoole – 协同php异步编程框架。
reactphp – php的事件驱动、非阻塞 i/o。
amphp – php非阻塞并发框架。
推荐教程:《本文来自php教程栏目,欢迎学习!》
以上就是异步 php 是什么?的详细内容。
其它类似信息

推荐信息