Swoole 是一个十分优良的 PHP 的协程高性能网络通信引擎。
在学习过程中,遇到了一些新或旧的概念,在此整顿一下。
长连贯 / 短连贯
长连贯:客户端和服务端建设连贯后不进行断开,之后客户端再次拜访这个服务器上的内容时,持续应用这一条连贯通道。
短连贯:客户端和服务端建设连贯,发送完数据后立马断开连接。下次要取数据,须要再次建设连贯。
串行 / 并行 / 并发
串行:执行多个工作时,各个工作按程序执行,实现一个之后能力进行下一个。
并行:多个工作在同一时刻产生并执行。
并发:同一时刻须要执行 N 个工作
IO(Input/Output,输入输出)
在计算机中,输出 / 输入(即 IO)是指信息处理系统(比方计算机)和内部世界(能够是人或其余信息处理系统)的通信。
输出是指零碎接管的信号或数据,输入是指从零碎收回的数据或信号。
波及到 IO 操作的通常有磁盘、网络、文件等。
同步 / 异步
同步和异步是一种音讯通信机制 。其关注点在于 被调用者返回
和 后果返回
之间的关系,形容对象是被调用对象的行为。
同步:在收回一个同步调用后,没有失去后果返回之前,该调用就不会返回,只有期待后果返回之后才会继续执行后续操作。
异步:收回调用,间接返回。异步能够通过状态、回调、告诉调用者后果,能够先执行其余操作,直到回调后果返回之后,再回来执行回调那局部的操作。
阻塞 / 非阻塞
阻塞和非阻塞是一种业务流程解决形式 。关注点在于调用产生时 调用者状态
和 被调用者返回后果
之间的关系。
形容的是期待后果时候调用者的状态。此时后果可能是同步返回的,也能是异步返回。
阻塞:在后果返回之前,该线程会被挂起,后续代码只有在后果返回后能力执行。
非阻塞:在不能立即获取后果前,该调用不会阻塞以后线程。
同步阻塞 / 非同步阻塞
理论编程中,通过 线程 实现 过程 的同步非阻塞 ,通过 协程 实现 线程 的同步非阻塞。
同步阻塞:打电话问老板有没有某书(调用),老板说查一下,让你别挂电话(同步),你始终期待老板给你后果,什么事也不做(阻塞)。
同步非阻塞:打电话问老板有没有某书(调用),老板说查一下,让你别挂电话(同步),等电话的过程中你还一边嗑瓜子(非阻塞)。
异步阻塞 / 异步非阻塞
异步阻塞:打电话问老板有没有某书(调用),老板说你先挂电话,有了后果告诉你(异步),你挂了电话后(完结调用), 除了等老板电话告诉后果,什么事件也不做(阻塞)。
异步非阻塞:打电话问老板有没有某书(调用),老板说你先挂电话,有了后果告诉你(异步),你挂电话后(完结调用),一遍等电话,一遍嗑瓜子。(非阻塞)
参考链接
- Swoole 中波及的一些基本概念