PHP Conference Japan 2024

parallel\Channel::open

(0.9.0)

parallel\Channel::open访问

描述

public parallel\Channel::open(字符串 $name): Channel

将打开具有给定名称的通道

异常

警告

如果通道不存在,则将抛出 parallel\Channel\Error\Existence

添加注释

用户贡献的注释 1 条注释

gam6itko
3 年前
<?php

// 下面的示例显示了如何在子线程中使用 Channel::open() 获取通道名称。

使用 parallel\{Channel, Runtime};

$fnThread = static function () {
$channel = Channel::open('channel_name');
$message = $channel->recv();
echo
"- 收到消息:$message\n";

返回
'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;
To Top