parallel\Future::done()

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

首字母:P

函数名称: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() 方法等待并行任务完成。

同首字母函数