python異步多線程,PHP多線程擴展pthreads示例

 2023-10-25 阅读 33 评论 0

摘要:<?php class Request extends Thread {public $url;public $data;public function __construct($url) {$this->url = $url;}public function run() {// 線程處理一個耗時5秒的任務for($i=0;$i<5;$i++) {echo '線程: '.date('H:i:s')
<?php
class Request extends Thread {public $url;public $data;public function __construct($url) {$this->url = $url;}public function run() {// 線程處理一個耗時5秒的任務for($i=0;$i<5;$i++) {echo '線程: '.date('H:i:s')."\n";sleep(1);}$response = file_get_contents($this->url);if ($response) {$this->data = array($response);}echo "線程: 任務完成\n";}
}
$request = new Request('hello.html');
// 運行線程:start()方法會觸發run()運行
if ($request->start()) {// 主進程處理一個耗時10秒的任務,此時線程已經工作for($i=0;$i<10;$i++) {echo '進程: '.date('H:i:s')."\n";sleep(1);}// 同步線程并輸出線程返回的數據$request->join();echo '線程返回數據: '.$request->data[0];
}
/*
如果順序執行,合計時間將是15秒,借助線程,則只需10秒.
生成文件: echo 'Hello' > hello.html
運行計時: time php req.php 
查看線程: ps -efL|head -n1 && ps -efL|grep php
*/

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/165920.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息