0

学习swoole,把文档看完了,也从GitHub上找了几个源码。
看完之后有几点疑惑请教一下大家。

目前我所知的异步操作主要分几块。
1、开一个process进程
2、回调中使用Coroutine
3、丢到task进程中

这几种都可以进行异步操作,那为什么要分出这么多操作方式来。每一种的具体应用场景是怎么样的?

另外,php是单线程,进程的执行顺序又是串行的。是不是意味着所谓的异步其实还是在顺序执行?

请教一下大家,谢谢。

manlin 2
6月29日提问

查看全部 2 个回答

0

从 cpu 角度看问题,如果你是多核处理器,举个例子,假设你的worker进程使用cpu0,那同时 process、task 在不同进程中执行可能会用cpu1。

而如果用Coroutine,你的代码永远只会单核按顺序执行,差别就是不会阻塞进程

可以看一下这篇:https://my.oschina.net/yurun/...

推广链接