You can use Thread as a waiting task with the Async function.
new Async(function() { $threads = [ new MyThreadA(), new MyThreadB(), new MyThreadC() ]; foreach ($threads as $thread) { $data = Async::await($thread->start()); echo $data; } });
Or
$class = new TestThread(); $class->start()->then(function ($data) { echo "Thread finished: " . implode(", ", $data) . "\n"; })->catch(function (Throwable $e) { echo "Thread failed: " . $e->getMessage() . "\n"; })->finally(function () { echo "Thread finished\n"; });
Last updated 5 months ago