🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# swoole_server->taskWaitMulti 并发执行多个Task ```php array swoole_server->taskWaitMulti(array $tasks, double $timeout = 0.5); ``` * $tasks 必须为数字索引数组,不支持关联索引数组,底层会遍历$tasks将任务逐个投递到Task进程 * $timeout 为浮点型,单位为秒,默认为`0.5` * 任务完成或超时,返回结果数组。结果数组中每个任务结果的顺序与`$tasks`对应,如:`$tasks[2]`对应的结果为`$result[2]` * 某个任务执行超时不会影响其他任务,返回的结果数据中将不包含超时的任务 > `taskWaitMulti`接口在`1.8.8`或更高版本可用 > 最大并发任务不得超过`1024` 使用实例 ---- ```php $tasks[] = mt_rand(1000, 9999); //任务1 $tasks[] = mt_rand(1000, 9999); //任务2 $tasks[] = mt_rand(1000, 9999); //任务3 var_dump($tasks); //等待所有Task结果返回,超时为10s $results = $serv->taskWaitMulti($tasks, 10.0); if (!isset($results[0])) { echo "任务1执行超时了\n"; } if (isset($results[1])) { echo "任务2的执行结果为{$results[1]}\n"; } if (isset($results[2])) { echo "任务3的执行结果为{$results[2]}\n"; } ```