乐趣区

关于php:Swoole-中的一些概念整理

Swoole 是一个十分优良的 PHP 的协程高性能网络通信引擎。

在学习过程中,遇到了一些新或旧的概念,在此整顿一下。

长连贯 / 短连贯

长连贯:客户端和服务端建设连贯后不进行断开,之后客户端再次拜访这个服务器上的内容时,持续应用这一条连贯通道。
短连贯:客户端和服务端建设连贯,发送完数据后立马断开连接。下次要取数据,须要再次建设连贯。

串行 / 并行 / 并发

串行:执行多个工作时,各个工作按程序执行,实现一个之后能力进行下一个。
并行:多个工作在同一时刻产生并执行。
并发:同一时刻须要执行 N 个工作

IO(Input/Output,输入输出)

在计算机中,输出 / 输入(即 IO)是指信息处理系统(比方计算机)和内部世界(能够是人或其余信息处理系统)的通信。

输出是指零碎接管的信号或数据,输入是指从零碎收回的数据或信号。

波及到 IO 操作的通常有磁盘、网络、文件等。

同步 / 异步

同步和异步是一种音讯通信机制 。其关注点在于 被调用者返回 后果返回 之间的关系,形容对象是被调用对象的行为。

同步:在收回一个同步调用后,没有失去后果返回之前,该调用就不会返回,只有期待后果返回之后才会继续执行后续操作。
异步:收回调用,间接返回。异步能够通过状态、回调、告诉调用者后果,能够先执行其余操作,直到回调后果返回之后,再回来执行回调那局部的操作。

阻塞 / 非阻塞

阻塞和非阻塞是一种业务流程解决形式 。关注点在于调用产生时 调用者状态 被调用者返回后果 之间的关系。

形容的是期待后果时候调用者的状态。此时后果可能是同步返回的,也能是异步返回。

阻塞:在后果返回之前,该线程会被挂起,后续代码只有在后果返回后能力执行。
非阻塞:在不能立即获取后果前,该调用不会阻塞以后线程。

同步阻塞 / 非同步阻塞

理论编程中,通过 线程 实现 过程 同步非阻塞 ,通过 协程 实现 线程 同步非阻塞

同步阻塞:打电话问老板有没有某书(调用),老板说查一下,让你别挂电话(同步),你始终期待老板给你后果,什么事也不做(阻塞)。

同步非阻塞:打电话问老板有没有某书(调用),老板说查一下,让你别挂电话(同步),等电话的过程中你还一边嗑瓜子(非阻塞)。

异步阻塞 / 异步非阻塞

异步阻塞:打电话问老板有没有某书(调用),老板说你先挂电话,有了后果告诉你(异步),你挂了电话后(完结调用), 除了等老板电话告诉后果,什么事件也不做(阻塞)。

异步非阻塞:打电话问老板有没有某书(调用),老板说你先挂电话,有了后果告诉你(异步),你挂电话后(完结调用),一遍等电话,一遍嗑瓜子。(非阻塞)

参考链接

  • Swoole 中波及的一些基本概念
退出移动版