版权声明:潘广宇博客, https://blog.csdn.net/panguangyuu/article/details/88390546
一、任务
向用户先发送邮箱验证码,然后向用户发送手机验证码。如果是单进程,需要等待邮箱验证码发送完毕才能发送手机验证码,存在一定的耗时。可使用多进程:一个进程发送邮箱验证码,另一个进程发送手机验证码。
<?php
$info = array(
'email' => "[email protected]",
'phone' => 13333333333,
);
$mail_process = new swoole_process('sendMail', true);
$mail_process->start();
$sms_process = new swoole_process('sendSMS', true);
$sms_process->start();
echo $mail_process->read(); // 读取管道中子进程写入的内容
echo PHP_EOL; // 输出换行
echo $sms_process->read();
echo PHP_EOL;
function sendMail(swoole_process $worker) {
global $info;
sleep(2);
$worker->write("send Mail to " . $info['email']); // 子进程向管道写入内容
}
function sendSMS(swoole_process $worker) {
global $info;
sleep(2);
$worker->write("send SMS to " . $info['phone']);
}
// 最后打印可见输出的发送邮件与发送手机验证码是同时出现的,说明是两个进程同时处理的结果