博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP 初试多线程pthreads扩展
阅读量:7009 次
发布时间:2019-06-28

本文共 1043 字,大约阅读时间需要 3 分钟。

hot3.png

pthread是unix-like多线程支持库,这里可以作为php的多线程扩展支持库。

我下载的是php_pthreads-2.0.10-5.3-ts-vc9-x86.zip,电脑是64bit,也就是说pthreads在64bit系统上兼容32bit,此版本支持php5.3.x线程安全(ts)版本,当然也名称标注了5.3-ts版本。

 

注意:下载x64位版本加载不成功的同学,可以打开apache的log看看是什么问题,如果问题不清楚,不妨下载x86版本的试试也行啊

 

在这里安装方式请参阅

学习请参考自带的Sample或者参考 

 

注意:不要安装太新的版本,否则有可能安装不成功,一定要和php的版本匹配。

 

来段代码测试一下:

arg = $arg;    $this->index = 0;  }  public function run(){    if($this->arg){         while($this->index<5)    {       echo  microtime(true)."--".$this->arg."->ID:".(Thread::getCurrentThreadId())."---index=".$this->index."
";      $this->index++;    }    }  }}$threadA = new AsyncTask("WokerA");$threadB = new AsyncTask("WokerB");if($threadA->start() && $threadB->start()) {  $threadA->join(); $threadB->join();  $index = 0;  while($index<5){      echo "
".microtime(true)."---主线程ID".(Thread::getCurrentThreadId())."--index=".$index."
";      $index++;  } }else{   echo "failed"; }?>

运行结果

100803_d0Q3_2256215.png

通过时间输出对比,我们发现,主线程和子线程符合多线程运行效果,但对于结果的输出和时间不匹配,可是每个线程都有一个缓冲区吧(I Guess)。

 

 

转载于:https://my.oschina.net/ososchina/blog/651994

你可能感兴趣的文章
Linux 远程登录
查看>>
Task类使用总结
查看>>
防表单重复提交
查看>>
个人网站优化的出路和方向
查看>>
dhcp的基本配置命令
查看>>
myeclipse添加数据库连接
查看>>
我的友情链接
查看>>
Oracle数据库创建与安装_超越OCP精通Oracle视频教程培训02~04
查看>>
Windows 8 X64 RTM 英文版 9200.16384 正版下载
查看>>
Hyper-V File Server 文件共享服务器
查看>>
WordPress内外网访问的问题解决
查看>>
在linux上安装redis
查看>>
奔跑吧,SOC(一)——软件是怎么控制硬件的
查看>>
初学vim编辑器必会常用功能
查看>>
HttpSession之学习笔记
查看>>
我的友情链接
查看>>
centos: 建立git账户
查看>>
Maven|项目命令
查看>>
python filter, map, 和reduce
查看>>
memcached 异常 : 单数据项超过默认值1m
查看>>