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

Coroutine\Scheduler->add

添加任务。函数原型:

function Coroutine\Scheduler->add(callable $fn, ... $args);
  • $fn要运行的协程函数
  • $args可选参数,将传递给协程

go函数不同,这里添加的协程不会立即执行,而是等待调用start方法时,一起启动并执行。

如果程序中仅添加了协程,未调用start启动,协程函数$fn将不会被执行。

实例

$scheduler = new Coroutine\Scheduler;

$scheduler->add(function ($a, $b) {
    Co::sleep(1);
    assert($a == 'hello');
    assert($b == 12345);
    echo "Done.\n";
}, "hello", 12345);

$scheduler->start();