为何 Boost 的 Asio 要使用 Proactor 模式实现?

Linux下高性能的网络库中大多使用的Reactor 模式去实现,Boost Asio在Linux下用epoll和select去模拟proactor模…
关注者
393
被浏览
48,773
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

Proactor的编程模型相比Reactor要更自然一些,而且在操作系统有支持的情况下,能获得更好的性能.所以一个通用网络库,选择Proactor作为接口语义并不奇怪.只是他们没想到,Linux社区对于填上aio的坑并没太大的动力(或则足够的实力?),这基于epoll的模拟Proactor实现一用就是数十年~