dispatcher和executor是一对一关系吗?

来源:5-7 api实现以及scheduler完成

lprince

2018-09-18

看起来是,因为那个runner里面都封装了一个dispatcher和executor。如果是一对一的关系的话,那为什么要分成两个对象,做一个那么复杂的通信机制呢?不能直接在用一个对象通过一个go routine里面把删除动作昨做完吗?

写回答

1回答

艾文西

2018-10-11

这是典型的生产者消费者模型,主要的作用是为了削减生产者与消费者之间任务的执行时间不同步或者有差异。

我们例子中,更新数据库和删除文件可以是异步的,而且二者的处理时常也是有差异的。如果做在一个流程里也是可以的,但是如果两个操作有一个阻塞会导致整个任务的阻塞,所以用这个模型来解决

0
0

Go语言实战流媒体视频网站,高效学习Go高性能开发

从零开始,全面掌握Go语言编码的架构风格和开发Web的关键技能

996 学习 · 268 问题

查看课程