限时 5折! 详情

swoole基础-swoole之task初体验

7152 0 0

上一文我们介绍了server的简单应用,这两天也有几个小伙伴私下反馈说不知道server有啥用。

确实哈,对于初学者,你现在的确看不出来这玩意能干啥。有过swoole基础的同学,根据上文的原型脑海中映射一个简单的对话应该是没问题。我们还是继续慢慢的打磨基础。

task初体验

在上文和IO模型中我们都对同步和异步进行了详细的解释,可能你们都懂了,可能部分人还是没懂,毕竟异步始终是个抽象的概念。

今天我们再来强化下这个概念,说一说Async Task。

AsyncTask,即异步任务。我们可以利用AsyncTask将一个耗时的任务投递到队列中,由进程池异步去执行。

博主你说人话,啥是异步任务?

总有些人吐槽不知道swoole的应用场景是啥,我们就以实际中遇到的问题为例:

情景一:管理员需要给指定的用户发送邮件,当勾选10封甚至更多封的时候,点击发送,浏览器会一直转圈,直到邮件全部发送完毕。

情景二:大家都爱看小说,我们以某小说网站的一个需求为例:要求作者可以把他事先写好的小说直接批量导入到网站(根据某种规则),这个操作起来同样会比较耗时。

从我们理解的角度思考,这其实都是php线程一直被阻塞,客户端才一直在等待服务端的响应。

对用户而言,这就是漫长的等待。如何优雅的提高用户体验就是一个非常棘手的问题。

我们的目的就是当用户选了100

继续阅读

还有85%的精彩内容,购买继续阅读