PHP线程和高延迟文件访问(例如; FTP)

Chr*_*ian 3 php resources multithreading

这有点复杂,所以请不要妄下结论,随便问一下不够清楚的事情.

基本上,我有一个用PHP编写的websocket服务器.请注意,websocket消息是异步的,也就是说,对请求的响应可能需要花费很多时间,而客户端一直在工作(如果适用).

客户端应该要求服务器访问其他服务器上的文件.对于此事,这可以是FTP服务或Dropbox.

在这里,请注意两个问题:连接应该被共享和重用,服务器在它工作时实际上"冻结",因此在服务器"解冻"之后处理任何请求.

因此,我想,为什么不卸载文件访问(这是冻结服务器)到PHP线程

这里的问题是双重的;

  • 如何在子线程可用的主线程(服务器)中创建连接资源(上述线程模型不可能)?
  • 如果两个线程最终需要相同的资源会发生什么?如果一个人被锁定直到另一个人完成,那就完全没问题,但我们仍然需要找出问题#1.

也许我的思路都搞砸了,如果你能找到更好的解决方案,我很想听听.我也有一个PHP线程托管连接资源的想法,但它是相当大的内存密集型.

joh*_*nes 5

PHP不支持任何线程.PHP的目的是快速响应Web请求.这就是构建体系的目的.不同的库尝试做类似线程的事情,但它们通常会导致比他们解决的更多问题.

一般来说,有两种方法可以达到你想要的效果: