muduo网络库的接口

P131 muduo的头文件明确分为客户可见和客户不可见两类。以下是安装之后暴露的头文件和库文件。对于使用muduo库而言,只需要掌握5个关键类:Buffer.h、EventLoop.h、TcpClient.h、TcpServer.h、TcpConnection.h

1.Buffer.h

2.EventLoop.h

3. TcpClient.h

4.TcpServer.h

5.TcpConnection.h

TcpConnectionsPtr是一个共享指针

TcpConnection// 一个类

TcpConnection(EventLoop* loop, const string& name, int socked, const InetAddress& localAddr, const InetAddress& peerAddr);//


Q: “I/O 复用”是什么?

A:IO复用其实复用的不是IO连接,而是复用线程。

Q:Doug Schmidt提出的Reactor模式的主要思想是什么?

A:Doug Schmidt指出,其实网络编程中有很多是事务性(routine)的工作,可以提取为公用的框架或库,而用户只需要填上关键的业务逻辑代码,并将回调注册到框架中,就可以实现完整的网络服务,这正是Reactor模式的主要思想。

Reactor的意义在于将消息(IO事件)分发到用户提供的处理函数,并保持网络部分的通用代码不变,独立于用户的业务逻辑。

Q:陈硕推荐的C++多线程服务端编程模式是啥?

A:one loop per thread + thread pool

event loop 用作 non-blocking IO 和定时器

thread pool 用来做计算,具体可以是任务队列或生产者消费者队列

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,268评论 30 472
  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 6,470评论 0 6
  • 01 我的一个朋友晓晓,大学毕业后因为参加同学的婚礼,认识一个北漂男孩天哥。天哥瘦瘦高高的,脸蛋长得还算精致,一笑...
    孜晓阅读 930评论 5 50
  • 当飞机飞入平流层,看着窗外那一抹奢侈的湛蓝,我想起阿信的一段话:“空气有重量吗?似乎是无重量的空气,从万尺高空累积...
    牧念阅读 865评论 0 0
  • 今天我们来继续说说牛。 大家看看牛的甲骨文,我们的祖先用一个牛头的形象来表示牛。上面是牛的两只牛角,下面呢是表示牛...
    abby7021阅读 1,065评论 0 1