【发布时间】:2021-07-07 05:12:29
【问题描述】:
我正在尝试详细了解我正在处理的代码库所使用的异步抽象。
我正在阅读 Folly 库中两个异步执行器池的文档,IOThreadPoolExecutor 用于 io 绑定任务,CPUThreadPoolExecutor 用于 cpu 绑定任务 (https://github.com/facebook/folly/blob/master/folly/docs/Executors.md)。
我正在阅读描述,但我不明白主要区别。似乎IOThreadPoolExecutor 是围绕event_fd 和epoll 循环构建的,而CPUThreadPoolExecutor 使用队列和信号量。
但这并不能告诉我太多好处和权衡。
【问题讨论】: