函数名称:parallel\Future::done()
适用版本:PHP 7.2.0 及以上版本
函数描述:该函数用于注册一个回调函数,当并行任务(parallel task)完成时,自动调用该回调函数。
用法:
创建一个并行任务对象:
$future = new parallel\Future(function() { // 并行任务的代码逻辑 // 可以是一个函数、方法或闭包 });
注册一个回调函数:
$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()
方法等待并行任务完成。