`

php的异步非阻塞开发

阅读更多

同步、异步

阻塞、非阻塞

多进程、多线程(php是多进程单线程)

 

同步:在发出一个功能调用时,在没有得到结果之前,该调用就不返回,也就是必须一件一件事做,等前一件做完了才能做下一件事

异步:当一个异步过程调用发出后,调用者不能立刻得到结果,实际处理这个调用的请求在完成后,通过状态、通知和回调来通知调用者。

阻塞:指调用结果返回之前,当前线程会被挂起(线程进入非可执行状态,在这个状态下,cpu不会给线程分配时间片,即线程暂停运行)

非阻塞:在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回

 

php无法做到多线程,但可以实现多进程

 

同步请求中可实现阻塞或者非阻塞,异步调用亦如此;

在做任务调度,或者高并发处理时候,经常需要实现异步非阻塞情况,下面是php能实现的几种方式:

第一种:stream_socket_client

第二种:fsockopen

第三种:curl下的curl_multi_init方式

第四种:通过pcntl扩展,实现多进程之后各自进程实现异步非阻塞

第五种:通过消息队列和crontab定时任务实现异步非阻塞,比较常用

 

分享到:
评论

相关推荐

    IMI是基于Swoole开发的协程PHP开发框架拥有常驻内存协程异步非阻塞IO等优点

    基于 Swoole 开发的协程 PHP 开发框架,常驻内存、协程异步,致力于丰富框架文档,上手容易,让开发者跟使用传统 MVC 框架一样顺手

    毕设&课设&项目&竞赛-基于stm32单片机的异步非阻塞式处理框架.zip

    软件开发设计:PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、...

    amp, PHP应用程序的非阻塞并发框架.zip

    amp, PHP应用程序的非阻塞并发框架 Amp是PHP的一个非阻塞并发框架。 它提供了一个事件循环,承诺和流作为异步编程的基础。生成器结合使用的承诺用于构建协同,这样就可以以像同步代码一样编写异步代码。安装这里...

    毕设&课设&项目&实训-基于stm32单片机的异步非阻塞式处理框架.zip

    包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python...

    linux网络编程框架(C++)基于Reactor事件机制,支持线程池,异步非阻塞,高并发,高性能.zip

    包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python...

    Icicle具有协同程序非阻塞IO和多线程的异步库

    Icicle - 具有协同程序,非阻塞I / O和多线程的异步库,一个PHP库,用于使用同步编码技术来编写异步代码

    Workerman一个事件驱动的非阻塞IO库

    Workerman - 一个事件驱动的非阻塞I / O库,异步事件驱动的PHP框架,可以轻松构建快速、可伸缩的Web应用程序。支持HTTP,Websocket和其他自定义协议。支持libevent、HHVM PHP7。

    基于 Swoole 原生协程的新时代 PHP 高性能协程全栈框架,内置协程网络服务器及常用的协程客户端

    首个基于 Swoole 原生协程的新时代 PHP 高性能协程全栈框架,内置协程网络服务器及常用的协程客户端,常驻内存,不依赖传统的 PHP-FPM,全异步非阻塞 IO 实现,以类似于同步客户端的写法实现异步客户端的使用,没有...

    swoft首个基于Swoole原生协程的新时代PHP高性能协程全栈组件化框架

    首个基于 Swoole 原生协程的新时代 PHP 高性能协程全栈组件化框架,内置协程网络服务器及常用的协程客户端,常驻内存,不依赖传统的 PHP-FPM,全异步非阻塞 IO 实现,以类似于同步客户端的写法实现异步客户端的使用...

    PHP Socket 网络应用框架 beyod

    事件驱动、异步非阻塞、多进程单线程架构(Nginx/node.js相同的进程架构)。 纯PHP代码实现,所有代码开源,开发参考易于上手。 高性能,PHP命令行长驻内存方式运行, 省去了传统的基于请求的资源分配和释放。另外...

    聊天室系统

    gateway只负责网络IO,全异步非阻塞,每个gateway进程都可以同时接受上万客户端连接。 workers采用的是PHP开发者所熟悉的同步模型,并提供了开发者基本的接口 onConnect、onMessage、onClose、sendToClient、...

    留言班系统

    gateway只负责网络IO,全异步非阻塞,每个gateway进程都可以同时接受上万客户端连接。 workers采用的是PHP开发者所熟悉的同步模型,并提供了开发者基本的接口 onConnect、onMessage、onClose、sendToClient、...

    学生信息管理系统

    gateway只负责网络IO,全异步非阻塞,每个gateway进程都可以同时接受上万客户端连接。 workers采用的是PHP开发者所熟悉的同步模型,并提供了开发者基本的接口 onConnect、onMessage、onClose、sendToClient、...

    Swoole异步并行和协程C扩展-其他

    Swoole底层内置了异步非阻塞、多线程的网络IO服务器。PHP程序员仅需处理事件回调即可,无需关心底层。与Nginx/Tornado/Node.js等全异步的框架不同,Swoole既支持全异步,也支持同步。 除了异步IO的支持之外,Swoole...

    基于Swoole高性能应用框架。 .zip

    常驻内存,不依赖传统的 PHP-FPM,全异步非阻塞、协程实现。可以用于构建高性能的Web系统、API、中间件、基础服务等等 软件开发设计:PHP、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、...

    Zan是基于PHP协程的网络服务框架.rar

    基于 zan 提供异步非阻塞I/O服务 连接池支持(内置 MySQL、Redis、syslog 等多种组件) 类似 Golang 的 defer 机制解决由于异常导致的资源未释放、锁未释放的问题 可继承的View布局及组件化支持,方便完成 ...

    zhttp根据zphp改造专门用来做http服务的轻量级框架

    基于zphp改造为专门用来开发httpserver的框架,内部封装协程异步非阻塞的mysql连接池,可以轻松start、reload、stop,加入数据库的查询模块,框架已经封装好同步写法,底层异步调用

    基于协程和swoole驱动的高性能PHP框架TSF.zip

    Tencent Server Framework 是快速服务器部署框架,PHP 现在可以像 Golang 一样用协程实现高并发服务器,同时支持同步阻塞,异步非阻塞回调,协程这 3 种 IO 模型。 主要特性: 基于 PHP,相比 C 开发更高效 ...

Global site tag (gtag.js) - Google Analytics