我正在尝试更多地了解我正在处理的这个代码库使用的异步抽象。
我正在阅读Folly
库中两个异步执行器池、IOThreadPoolExecutor
绑定io
任务和CPUThreadPoolExecutor
绑定cpu
任务的文档(https://github.com/facebook/folly/blob/master/folly/docs/Executors.md)。
我正在阅读描述,但我不明白主要区别。它似乎IOThreadPoolExecutor
是围绕event_fd
和epoll
循环构建的,并CPUThreadPoolExecutor
使用队列和信号量。
但这并没有告诉我太多关于好处和权衡的信息。