随笔分类 - 1_2_2_muduo
摘要:1.muduo库实现异步(非阻塞)rpc框架 陈硕视频教程 代码 代码解析 实现客户端和服务器时,我们要做的工作有: 客户端:调用rpc函数时,需要和服务器端建立连接,并发送request,并设置response返回时的回调函数。这些功能都需要我们自己实现,本项目在RpcChannel类中进行了实现
阅读全文
摘要:第5章 高效的多线程日志 muduo没有用标准库中的iostream,而是自己写的LogStream class,这主要是出于性能原因(§11.6.6)。 为什么不通过网络写日志信息:无法判断网络问题、可能使发送日志的一方内存爆掉、消耗带宽 日志文件的滚动:达到一定时间或文件达到一定大小后,会新建日
阅读全文
该文被密码保护。
摘要:3.1 进程与线程 每个进程有自己独立的地址空间(address space) 线程的特点是共享地址空间,从而可以高效地共享数据 3.2 单线程服务器的常用编程模型 两种高效的事件处理模式:Reactor和Proactor。同步I/O模型通常用于实现Reactor模式,异步I/O模型则用于实现Pro
阅读全文
摘要:第2章 线程同步精要 线程同步的四项原则,按重要性排列: 1.首要原则是尽量最低限度地共享对象,减少需要同步的场合。一个对象能不暴露给别的线程就不要暴露;如果要暴露,优先设置对象不可更改;实在不行才暴露可修改的对象,并用同步措施来充分保护它。 2.其次是使用高级的并发编程构件,如TaskQueue、
阅读全文
摘要:我从P8开始看的。 面向对象的编程和基于对象的编程思想 muduo库不使用抽象类和虚函数作为接口,只暴露具体类,这就意味着muduo库不使用面向对象的编程思想,而使用基于对象的编程思想,以下说明两者的区别: 面向对象的编程思想 Thread.h: #ifndef _THREAD_H_ #define
阅读全文