English | 简体中文 | 繁體中文
查询

parallel\Future::done()函数—用法及示例

「 注册一个回调函数,当并行任务(parallel task)完成时,自动调用该回调函数 」


函数名称:parallel\Future::done()

适用版本:PHP 7.2.0 及以上版本

函数描述:该函数用于注册一个回调函数,当并行任务(parallel task)完成时,自动调用该回调函数。

用法:

  1. 创建一个并行任务对象:

    $future = new parallel\Future(function() {
        // 并行任务的代码逻辑
        // 可以是一个函数、方法或闭包
    });
    
  2. 注册一个回调函数:

    $future->done(function($result) {
        // 并行任务完成后执行的回调函数
        // $result 是并行任务的结果
    });
    

示例:

$future = new parallel\Future(function() {
    // 模拟一个耗时的并行任务
    sleep(3);
    return "Task completed!";
});

$future->done(function($result) {
    echo $result; // 输出:Task completed!
});

// 执行并行任务
$future->start();

// 其他的代码逻辑
echo "Other code...";

// 等待并行任务完成
$future->wait();

在上面的示例中,我们创建了一个并行任务对象 $future,并通过构造函数传入一个匿名函数作为并行任务的代码逻辑。然后,我们使用 done() 方法注册了一个回调函数,当并行任务完成时,该回调函数会被自动调用,并将并行任务的结果作为参数传入。在示例中,我们将结果输出到屏幕上。

注意:在使用 done() 方法注册回调函数之前,必须先调用 start() 方法执行并行任务,然后再调用 wait() 方法等待并行任务完成。

补充纠错
热门PHP函数
分享链接