PHP pthreads 多线程 并发 的一些实践 总结
来源:互联网 发布:win10 淘宝激活码 编辑:程序博客网 时间:2024/06/05 12:41
1.Windows下安装很成问题,版本库对应不全,比如我是Win7 64位系统,PHP 5.4 结果没有对应的包, 只能开了个虚拟机,win7x32+PHP5.3 装上了.
2.要注意: 线程的实现代码 写在run方法中, 但启动线程的方法是start, 千万不要直接调用 run ,(这就变成了单线程)
3.如果可以,先实例出所有线程,再循环一次,逐一Start
4.线程中,SPL相关函数失效,最主要的是 spl_register_autoload , 这导致自动加载失效. 我的解决方案是 在未启动线程时,先把需要的类都加载.
5.pthreads 有个版本问题, 手册 上的大部分 类和方法都要求 2.0.0以上 , 我们运维最初安装的居然是0.4.4
6.我写了一个多线程+异步的采集程序. 花了一周,写了5个网站的采集.
给大家个出人意料的结论吧:
-------暂时还是先别用这个东西了,生产环境中有许多问题
1.频繁出现 memory leak
2.遇到一个古怪问题: 线程中 创建一个对象,构造时给对象的属性赋值,再回去取,值没了~~~ , 此问题不是必现的 (与时间无关,与代码相关), 我专门写了个测试例子,没出错.
3.最初我采用了纯 多线程 写了采集(不使用异步), 效率不好. 之后 我换了组合方式.
4.下周的工作,我要把线程这部分干掉,太不稳定了.采集就用异步就好.
吐个槽:有的程序员居然无法区分 异步与并发.
补充:
经过调试,以上问题2,已经解决,框架中另一个位置的一个隐藏BUG导致.
虚拟机上运行良好,尚未到服务器上运行.
1 0
- PHP pthreads 多线程 并发 的一些实践 总结
- PHP pthreads 多线程 并发 的一些实践 总结
- PHP里的多线程(pthreads)
- PHP 多线程扩展 pthreads
- PHP pthreads 多线程操作
- php 多线程 pthreads扩展
- php 多线程 pthreads安装
- PHP多线程扩展pthreads实例
- PHP多线程扩展pthreads示例
- php安装pthreads多线程扩展
- PHP 多线程扩展(正儿八经的线程)pthreads安装
- php pthreads 多线程扩展的使用:一个较为稳定例子。
- windows下安装php真正的多线程扩展pthreads教程
- windows下安装php真正的多线程扩展pthreads教程
- windows下xampp安装PHP的pthreads多线程扩展
- PHP的pthreads扩展
- wamp安装pthreads扩展(PHP多线程)
- wamp安装pthreads扩展(PHP多线程)
- CALayer与UIView的关系
- Windows/Linux下引用jar包,并用javac/java编译运行
- Qt计算器开发(二):信号槽实现数学表达式合法性检查
- ios layout机制相关方法
- USACO Section 4.4 Shuttle Puzzle
- PHP pthreads 多线程 并发 的一些实践 总结
- Java 可变参数(类型... 形参名)
- Linux驱动开发---内外存访问
- python 中自然语言处理(中文)——统计词频
- C++异常处理 set_terminate
- 从客户端(content1="...")中检测到有潜在危险的 Request.Form 值
- poj 1743 Musical Theme 后缀数组
- Linux之DNS详解
- 删除其他应用的快捷方式