• Task/Finish特性的用途

    Task/Finish特性的用途

    task模块用来做一些异步的慢速任务,比如webim中发广播,发送邮件等。

    • task进程必须是同步阻塞的
    • task进程支持定时器
      node.js 假如有10万个连接,要发广播时,那会循环10万次,这时候程序不能做任何事情,不能接受新的连接,也不能收包发包。

    而swoole不同,丢给task进程之后,worker进程可以继续处理新的数据请求。任务完成后会异步地通知worker进程告诉它此任务已经完成。

    当然task模块的作用还不仅如此,实现PHP的数据库连接池,异步队列等,还需要进一步挖掘。