首页 > 解决方案 > 如何在 PHP 中创建可调用的方法/函数

问题描述

我正在尝试在 PHP 中实现多任务处理。目前我正在评估AMPHP 框架,特别是并行和并行函数。

但我不知道如何创建一个可调用的方法......

这个想法是我将有一个带有一些方法的类,并且我想实例化多个对象,并为每个对象调用相同的方法,但并行或异步。

我在并行函数文件夹中找到了一个 TestCase,但我不知道在做什么

public function testClassInstanceMethod() {
    $instance = new TestCallables;

    $callable = [$instance, 'instanceMethod'];
    $result = $callable(1);  //<-- what is (1)?
    $callable = parallel($callable);

    $this->assertSame($result, Promise\wait($callable(1)));
}

如果我创建多个实例会发生什么?

$instances[] = new TestCallables;

我认为我首先需要知道的是如何在 PHP 中创建一个可调用的类/方法/函数...。

重要信息:这应该在 Yii 框架的 web 环境中运行(没有 pThreads !)。

有什么建议么?此致

标签: phpparallel-processingamphp

解决方案


数据以序列化形式在线程/进程之间传递,因此您不能只在一个线程/进程中实例化一个对象并在另一个线程中调用相同实例的方法。

我需要更多信息来帮助您;你的问题有点混乱。请展示不起作用的示例 - 我会帮助您理解为什么。


推荐阅读