
协程
alexander_phper
想平静的心
展开
-
PHP协程(1):简略
基本概念援引几个博客上的话: 对于单核处理器,多进程实现多任务的原理是让操作系统给一个任务每次分配一定的 CPU时间片,然后中断、让下一个任务执行一定的时间片接着再中断并继续执行下一个,如此反复。由于切换执行任务的速度非常快,给外部用户的感受就是多个任务的执行是同时进行的。多进程的调度是由操作系统来实现的,进程自身不能控制自己何时被调度,也就是说: 进程的调度是由外层调度器抢占式实现的原创 2017-11-22 17:56:14 · 394 阅读 · 0 评论 -
PHP协程(2):通过生成器栈实现异步的同步写法
下面代码中使用一个TaskStack生成器栈,实现了异步方法swoole_timer_after的同步写法;顺带还实现了子生成器的调用; 只要是有callback方法的异步操作,均可以使用一下方式实现异步操作的同步写法;class TaskStack { public $stack; public $generator; public $return; public f原创 2017-11-22 14:58:05 · 634 阅读 · 0 评论