• 异步文件系统IO
    • 冲突问题

    异步文件系统IO

    Swoole异步文件读写基于线程池同步IO模拟实现,文件读写请求投递到任务队列,然后由AIO线程读写文件,完成后通知主线程。

    可使用swoole_async_set函数设置AIO线程数量,提高处理能力。请注意底层会在每个工作进程中分别创建AIO线程,因此假设设置了worker_num = 10thread_num = 10,将会启动100个线程。

    1. swoole_async_set([
    2. 'thread_num' => 16,
    3. ]);

    冲突问题

    请注意异步文件IO函数与Swoole\Process存在冲突,在创建线程池后如果调用new Process可能会导致多线程fork