常见问题
最后更新于:2022-04-02 06:30:04
# 常见问题
[TOC]
## 协程是并行执行的吗?
协程与线程不同,在一个进程内创建的多个协程,实际上是串行的。同一`CPU`时间,只有一个协程在执行,因此协程不存在数据同步问题。
协程内可以安全的修改全局变量的值,而不考虑锁的问题。
在协程的执行过程中,调用`IO`操作时,会自动让出控制权。这时其他`IO`操作完成的协程才会执行。当`IO`操作完成后,底层会重新切换会当前的协程。
## 协程之间如何通信?
可使用`SplQueue`或`Swoole\Coroutine\Channel`实现协程之间的通信。
';