<?php
// 以下範例展示如何在子執行緒中使用 Channel::open() 透過名稱取得通道
use parallel\{Channel, Runtime};
$fnThread = static function () {
$channel = Channel::open('channel_name');
$message = $channel->recv();
echo "- 收到訊息: $message\n";
return 'bye';
};
$channel = Channel::make('channel_name', 1);
// 主執行緒
$runtime = new Runtime();
$future = $runtime->run($fnThread, [$channel]);
echo "正在傳送訊息\n";
$channel->send('hello future!');
sleep(1);
echo "正在關閉通道\n";
$channel->close();
echo "future 回應: ".$future->value();
echo PHP_EOL;