美文网首页转载部分
记一个libevent遇到的坑

记一个libevent遇到的坑

作者: Quasars | 来源:发表于2019-03-03 10:09 被阅读0次

网络层是大多数基础服务都需要的一个东西,libevent是个单线程模型(reactor模式)的网络库。
而单线程模式,就必须保证事件的回调处理是非阻塞的。
但在某些场景下,必须阻塞某种事件,如网络限速/磁盘限速等限速场景。
这两个就坑了,如果事件都由同一个线程处理,必然引起不该阻塞的事件被阻塞住。
目前想到的解决方案是增加1个(组)线程,由该线程处理紧急,非阻塞的事件。这也是较为流行的做法,1组线程处理普通/可阻塞事件,1组线程处理高优/非阻塞事件。

相关文章

网友评论

    本文标题:记一个libevent遇到的坑

    本文链接:https://www.haomeiwen.com/subject/kfnyuqtx.html