首页 > 其他 > 详细

swoole_process模拟耗时操作

时间:2019-06-06 23:26:21      阅读:110      评论:0      收藏:0      [点我收藏+]
  • 一例串行阻塞操作
<?php
$start = time();
$tasklists = [
    /root/文档/longtale1.txt,
    /root/文档/longtale2.txt,
    /root/文档/longtale3.txt,
    /root/文档/longtale4.txt,
    /root/文档/longtale5.txt,
];

function parseurl($path)
{
    sleep(2);  #模拟某些耗时操作
    return "这个文件的文件名是".$path."\n";
}

foreach ($tasklists as $tasklist)
{
    echo parseurl($tasklist);
}
$end = time();
echo "共耗时:".($end-$start);
  • 异步操作
<?php
$start = time();

$tasklists = [
‘/root/文档/longtale1.txt‘,
‘/root/文档/longtale2.txt‘,
‘/root/文档/longtale3.txt‘,
‘/root/文档/longtale4.txt‘,
‘/root/文档/longtale5.txt‘,
];

$processlist=[];

function parseurl($path)
{
sleep(2);
return "要解析的文件名为".$path.PHP_EOL;
}

foreach($tasklists as $tasklist)
{
$process = new swoole_process(function(swoole_process $sw) use($tasklist){
$ret = parseurl($tasklist);
$sw->write($ret);
},false);
$process->start();
array_push($processlist,$process);
}

foreach($processlist as $myprocess)
{
echo $myprocess->read().PHP_EOL;
}

$end = time();
echo "总共耗时".($end-$start);
?>

swoole_process模拟耗时操作

原文:https://www.cnblogs.com/saintdingspage/p/10987122.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!