swoole_process模拟耗时操作

Posted saintdingspage

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swoole_process模拟耗时操作相关的知识,希望对你有一定的参考价值。

  • 一例串行阻塞操作
<?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模拟耗时操作的主要内容,如果未能解决你的问题,请参考以下文章

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

前端面试题之手写promise

一个例子看懂异步代码执行效率

VSCode自定义代码片段——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程