欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

异步 PHP 是什么?

程序员文章站 2022-03-07 21:32:01
...

异步 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 是什么?的详细内容,更多请关注其它相关文章!

相关标签: php