异步文件系统IO
Swoole
异步文件读写基于线程池同步IO
模拟实现,文件读写请求投递到任务队列,然后由AIO
线程读写文件,完成后通知主线程。
可使用swoole_async_set
函数设置AIO
线程数量,提高处理能力。请注意底层会在每个工作进程中分别创建AIO
线程,因此假设设置了worker_num = 10
和thread_num = 10
,将会启动100
个线程。
swoole_async_set([
'thread_num' => 16,
]);
冲突问题
请注意异步文件IO
函数与Swoole\Process
存在冲突,在创建线程池后如果调用new Process
可能会导致多线程fork
。