函数名:Swoole\Process::useQueue()
适用版本:Swoole 4.0.0及以上版本
用法: Swoole\Process::useQueue()函数用于开启进程间通信的消息队列。可以在父进程和子进程之间传递消息。
示例:
<?php
$process = new Swoole\Process(function (Swoole\Process $process) {
    // 开启消息队列
    $process->useQueue();
    // 父进程发送消息到子进程
    $msg = "Hello from parent process!";
    $process->push($msg);
    // 子进程接收消息
    $recv = $process->pop();
    echo "Received message in child process: " . $recv . PHP_EOL;
});
$pid = $process->start();
if ($pid > 0) {
    // 父进程接收子进程发送的消息
    $recv = $process->pop();
    echo "Received message in parent process: " . $recv . PHP_EOL;
    // 父进程发送消息到子进程
    $msg = "Hello from parent process again!";
    $process->push($msg);
    // 等待子进程结束
    Swoole\Process::wait();
} else {
    // 子进程发送消息到父进程
    $msg = "Hello from child process!";
    $process->push($msg);
    // 子进程接收父进程发送的消息
    $recv = $process->pop();
    echo "Received message in child process: " . $recv . PHP_EOL;
}
?>
在以上示例中,我们创建了一个子进程,并在子进程中开启了消息队列。父进程和子进程通过push()和pop()函数进行消息的发送和接收。父进程先发送消息到子进程,子进程接收并输出消息。然后子进程发送消息到父进程,父进程接收并输出消息。最后等待子进程结束。通过使用Swoole\Process::useQueue()函数,实现了父进程和子进程之间的进程间通信。
 热门工具排行榜
 热门工具排行榜