我使用的是codeigniter框架。我正在寻找一个使用代码点火器的MVC框架来实现多线程的最佳实践。
我正在考虑创建一个类,在该类中,所有函数都将被编写为在不同的独立线程中运行。
请向我推荐使用codeigniter的MVC框架的多线程技术。
您不能直接用PHP执行多线程。每个页面加载都由一个线程处理。
如果您希望以多线程的方式将function foo()
的值传递给function bar()
,则可以使用像Resque或RabbitMQ这样的作业队列来模拟它。
但说你想要多线程PHP就像说你想要一辆四轮摩托车。
这里有一个php多线程库,用于将进程分叉到一个单独的线程中,我正在使用它来实现您在mcodeigniter 中描述的内容
https://github.com/motanelu/php-thread
php线程不提供真正的线程,它只是分叉进程并导致多处理。
如果您想在php中使用真正的线程,请使用pthreads。但要注意陷阱!
阅读的重要注意事项
- https://gist.github.com/krakjoe/6437782