php的多线程以及守护进程的使用

2012-12-13
  • 1127
  • 0

最近在做公司项目的时候,有些需求,特别是数据的响应处理,服务器的响应需要。

大量的时间,而php是一个短生命周期的脚本语言,一般设置默认的30秒,到了时间,但是php的数据处理还没完成,就已经结束了php的生命周期。没办法,就决定使用异步并发处理策略,基本意思就是,一次php调用可以发出的多个请求,这些请求不是按照顺序执行,这些请求可以同步执行,一些请求用于在后台处理数据,一些请求用于接受后台响应状态,根据状态,与使用用户做一些简单的交互,但是问题来了,php对多线程并不支持,而且刚才提到php是一个短生命周期的脚本语言,我们的数据处理需要相对多的处理时间,解决这个问题的办法就是,创建一个php的守进程,专门负责数据的处理以及返回一些状态,另一个问题,就是线程问题,这个我们可以通过一个第三方软件来解决,Gearman,一个分布式远程过程处理框架,简单的说Gearman是PHP实现异步处理利器。