× 警告!旧版文档已经暂停维护,请查看新版文档。点击前往新版文档

FileSystem

异步文件系统仅限于4.3.0之前的版本,后续版本已经全面使用协程(coroutine)代替原有方案,具体参见:Coroutine模块

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

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

swoole_async_set([
    'thread_num' => 16,
]);

冲突问题

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


  • copperfield

    swoole_async_set 这个函数怎么用呢,参数怎么传呢

  • copperfield

    好吧,出门左转对吧

  • yzbczq

    @copperfield 看上一页 https://wiki.swoole.com/wiki/page/p-async.html