同步、异步
阻塞、非阻塞
多进程、多线程(php是多进程单线程)
同步:在发出一个功能调用时,在没有得到结果之前,该调用就不返回,也就是必须一件一件事做,等前一件做完了才能做下一件事
异步:当一个异步过程调用发出后,调用者不能立刻得到结果,实际处理这个调用的请求在完成后,通过状态、通知和回调来通知调用者。
阻塞:指调用结果返回之前,当前线程会被挂起(线程进入非可执行状态,在这个状态下,cpu不会给线程分配时间片,即线程暂停运行)
非阻塞:在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回
php无法做到多线程,但可以实现多进程
同步请求中可实现阻塞或者非阻塞,异步调用亦如此;
在做任务调度,或者高并发处理时候,经常需要实现异步非阻塞情况,下面是php能实现的几种方式:
第一种:stream_socket_client
第二种:fsockopen
第三种:curl下的curl_multi_init方式
第四种:通过pcntl扩展,实现多进程之后各自进程实现异步非阻塞
第五种:通过消息队列和crontab定时任务实现异步非阻塞,比较常用
相关推荐
基于 Swoole 开发的协程 PHP 开发框架,常驻内存、协程异步,致力于丰富框架文档,上手容易,让开发者跟使用传统 MVC 框架一样顺手
软件开发设计:PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、...
amp, PHP应用程序的非阻塞并发框架 Amp是PHP的一个非阻塞并发框架。 它提供了一个事件循环,承诺和流作为异步编程的基础。生成器结合使用的承诺用于构建协同,这样就可以以像同步代码一样编写异步代码。安装这里...
包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python...
包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python...
Icicle - 具有协同程序,非阻塞I / O和多线程的异步库,一个PHP库,用于使用同步编码技术来编写异步代码
Workerman - 一个事件驱动的非阻塞I / O库,异步事件驱动的PHP框架,可以轻松构建快速、可伸缩的Web应用程序。支持HTTP,Websocket和其他自定义协议。支持libevent、HHVM PHP7。
首个基于 Swoole 原生协程的新时代 PHP 高性能协程全栈框架,内置协程网络服务器及常用的协程客户端,常驻内存,不依赖传统的 PHP-FPM,全异步非阻塞 IO 实现,以类似于同步客户端的写法实现异步客户端的使用,没有...
首个基于 Swoole 原生协程的新时代 PHP 高性能协程全栈组件化框架,内置协程网络服务器及常用的协程客户端,常驻内存,不依赖传统的 PHP-FPM,全异步非阻塞 IO 实现,以类似于同步客户端的写法实现异步客户端的使用...
事件驱动、异步非阻塞、多进程单线程架构(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底层内置了异步非阻塞、多线程的网络IO服务器。PHP程序员仅需处理事件回调即可,无需关心底层。与Nginx/Tornado/Node.js等全异步的框架不同,Swoole既支持全异步,也支持同步。 除了异步IO的支持之外,Swoole...
常驻内存,不依赖传统的 PHP-FPM,全异步非阻塞、协程实现。可以用于构建高性能的Web系统、API、中间件、基础服务等等 软件开发设计:PHP、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、...
基于 zan 提供异步非阻塞I/O服务 连接池支持(内置 MySQL、Redis、syslog 等多种组件) 类似 Golang 的 defer 机制解决由于异常导致的资源未释放、锁未释放的问题 可继承的View布局及组件化支持,方便完成 ...
基于zphp改造为专门用来开发httpserver的框架,内部封装协程异步非阻塞的mysql连接池,可以轻松start、reload、stop,加入数据库的查询模块,框架已经封装好同步写法,底层异步调用
Tencent Server Framework 是快速服务器部署框架,PHP 现在可以像 Golang 一样用协程实现高并发服务器,同时支持同步阻塞,异步非阻塞回调,协程这 3 种 IO 模型。 主要特性: 基于 PHP,相比 C 开发更高效 ...