如下图,能正常的到$aa数组,
$barrier = Barrier::create();
$aa = [];
for ($i=1; $i<5; $i++) {
Coroutine::create(function () use ($barrier, $i, &$aa) {
sleep(1);
$aa[] = $i;
});
}
// Wait all coroutine done
Barrier::wait($barrier);
echo 'all finished';
var_dump($aa);
};
照葫芦画瓢,但到了这里就不行了?
$barrier = Barrier::create();
$plcs = [];
foreach ($devicePlcs as $devicePlc) {
Coroutine::create(function () use ($devicePlc, &$plcs) {
$plcs[] = $this->test($devicePlc); // 执行实际业务代码;
});
}
Barrier::wait($barrier);
var_dump($plcs);
public function test($test)
{
static $n = 0;
sleep(5);
$n++;
return $n;
}
找不到