在php内部发信号

bor*_*rel 5 php multithreading http

嗨,当实现一个长时间保持打开的连接(彗星)时,我将如何在php proses(未完成的请求)之间实现信令?

示例时间表:

  • 请求1开始
  • 请求1采取行动
  • 请求1睡觉
  • 请求2开始
  • 请求2采取行动
  • 请求2通知请求1并进入睡眠状态
  • 请求1唤醒并发送新数据
  • 请求1睡觉阿根

我是在徘徊,如果这是一个使用较少的方法(注意?)cpu prosessing

OZ_*_*OZ_ 3

如果你的平台是Linux/Unix,你可以使用队列

  • 请求 1 开始
  • 请求 1 执行操作
  • 请求 1 睡眠并读取队列(睡眠(1)和读取队列)
  • 请求2开始
  • 请求 2 执行操作
  • 请求2发送消息到队列
  • 请求1从队列接收消息,唤醒并发送新数据
  • 请求1再次休眠

即使没有信号量,您也可以做到这一点sleep(),但编码会更加困难。