hi,你好!欢迎访问本站!登录
本站由简数采集腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - PHP框架 - Swoole - 正文 请牢记本站网址www.sosophp.cn

swoole和pcntl区分【swoole】,swoole

2019-12-13Swoole搜搜PHP网53°c
A+ A-

PHP的历程掌握支撑完成了Unix体式格局的历程建立, 顺序实行, 信号处置惩罚以及历程的中断。 历程掌握不能被应用在Web效劳器环境,当其被用于Web效劳环境时可能会带来不测的效果。 (引荐进修: swoole视频教程)

PCNTL如今运用了ticks作为信号处置惩罚的回调机制,ticks在速度上远远超过了之前的处置惩罚机制。 这个变化与“用户ticks”遵照了雷同的语义。

您能够运用declare() 语句在顺序中指定许可发作回调的位置。这使得我们对异步事宜处置惩罚的开支最小化。在编译PHP时 启用pcntl将一直负担这类开支,不管您的剧本中是不是真正运用了pcntl。

有一个调解是PHP 4.3.0之前的一切pcntl剧本要使其事情,要么在希冀许可回调的(代码)部份运用 declare() ,要么运用declare()新的全局语法 使其在全部剧本范围有用。

Note: 此扩大在 Windows 平台上不可用。

swoole增加了多历程治理模块来替换PHP的pcntl,它比拟pcntl的不同点是:

swoole_process供应了pcntl没有的历程间通讯swoole_process支撑重定向规范输入和输出,在子历程内echo或许读键盘输入能够被重定向为从管道中取数据子历程能够异步化

历程间通讯(IPC)

子历程和父历程之间能够经由过程管道通讯,通报数据。IPC在多历程编程中经常用到,PHP的pcntl模块没有供应IPC的功用,所以功用有范围。而swoole_process供应了这些功用,而且封装了接口。只需挪用接口即可完成历程间通讯。

$worker_num = 8;
for($i = 0; $i < $worker_num; $i++)
{
    $process = new swoole_process('callback_function', $redirect_stdout);
    $pid = $process->start();
    $workers[$pid] = $process;
}
function callback_function(swoole_process $worker)
{
    //echo "Worker: start. PID=".$worker->pid."\n";
    //recv data from master
    $recv = $worker->read();
    echo "From Master: $recv\n";
    //send data to master
    $worker->write("hello master\n");
    sleep(2);
    $worker->exit(0);
}

read/write 2个要领就是向管道内读写数据。主历程内能够经由过程write/read 向子历程写入,读取数据。

以上就是swoole和pcntl区分的细致内容,更多请关注ki4网别的相干文章!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  选择分享方式
  移步手机端
swoole和pcntl区分【swoole】,swoole

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签: