PHP 进程通信-消息队列

消息队列是消息的链接表(一种常见的数据结构),但是这种消息队列存储于系统内核中(不是用户态),一般我们外部程序使用一个key来对消息队列进行读写操作。 在PHP中,是通过msg_*系列函数完成消息队列操作

<?php
// 创建消息队列键
$key = ftok( __DIR__, 'a' );
// 创建消息队列
$queue = msg_get_queue( $key, 0666 );
$pid = pcntl_fork();
if( $pid < 0 ){
    exit( 'fork error'.PHP_EOL );
} else if( $pid > 0 ) {
    // 读取消息队列
    msg_receive( $queue, 0, $msgtype, 1024, $message );
    echo $message.PHP_EOL;
    // 清除消息队列
    msg_remove_queue( $queue );
    pcntl_wait( $status );
} else if( 0 == $pid ) {
    // 写入消息队列
    msg_send( $queue, 1, "helloword" );
    exit;
}

执行


10306662-a0ad7d067f6b8009.png
image.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值