牛牛在线工具

Swoole\Process::useQueue()

收录 8868 个 PHP 函数,含用途说明与用法示例。

Swoole\Process::useQueue()

开启进程间通信的消息队列

函数名: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()函数,实现了父进程和子进程之间的进程间通信。