Loading

摘要: 并发模式中,“同步”指的是程序完全按照代码序列的顺序执行;“异步”指的是程序的执行需要由系统事件来驱动。 阅读全文
posted @ 2021-01-25 14:44 JakeLin 阅读(456) 评论(0) 推荐(0) 编辑
摘要: 同步I/O模型通常用于实现Reactor模式,异步I/O模型则用于实现Proactor模式。 Proactor模式 与 Reactor 模式不同,Proactor 模式将所有 I/O 操作都交给主线程和内核来处理, 工作线程仅仅负责业务逻辑。 主线程:负责监听已连接文件描述符上是否有事件发生。 内核 阅读全文
posted @ 2021-01-25 14:40 JakeLin 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 主线程只负责监听事件发生,其余工作(接受连接、读写数据、处理客户请求)均由工作线程完成。 阅读全文
posted @ 2021-01-25 14:38 JakeLin 阅读(114) 评论(0) 推荐(0) 编辑
摘要: I/O模型中,同步和异步关注的是消息通信机制。阻塞和非阻塞关注的是程序在等待调用结果时的状态。 阅读全文
posted @ 2021-01-25 14:37 JakeLin 阅读(90) 评论(0) 推荐(0) 编辑
摘要: TCP连接的建立过程——"三次握手"。TCP连接的释放——"四次挥手"。 阅读全文
posted @ 2021-01-25 14:36 JakeLin 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 物理层 频分复用:所有用户在同样的时间占用不同的带宽资源 时分复用:所有用户是在不同的时间占用相同的频带宽度 波分复用:光的频分复用 集线器:工作在物理层,简单的转发比特,不进行碰撞检测。不同鹏颛臾使用不同的速率则不能使用集线器互连。 数据链路层 主要信道:点对点信道 、广播信道 三个基本问题:封装 阅读全文
posted @ 2021-01-25 14:35 JakeLin 阅读(326) 评论(0) 推荐(0) 编辑
摘要: Linux网络编程中,基本TCP套接字操作:socket、bind、listen、accept、connect、close 阅读全文
posted @ 2021-01-25 14:34 JakeLin 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 编译器驱动程序 大多数编译系统提供编译器驱动程序(compiler driver),它代表用户在需要时调用语言预处理器、编译器、汇编器、和链接器。 我们所常说的 “编译生成可执行文件” 实际包括以下过程: 预处理器 (某些编译系统,预处理器被集成到 编译器 中) cpp [other argumen 阅读全文
posted @ 2021-01-25 14:33 JakeLin 阅读(1624) 评论(2) 推荐(0) 编辑
摘要: dynamic_cast:有虚函数的类,指针或引用,类层次结构中进行转换(主要是向上转换); const_cast:去掉 const 或 volatile 属性; static_cast:编译期间转换,没有运行时类型检查来保证转换的安全性; reinterpret_cast:仅仅重新解释类型,没有对 阅读全文
posted @ 2021-01-25 14:26 JakeLin 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 程序使用 new 从堆(自由存储区)分配内存,在不需要时,应使用 delete 将其释放。这个内存管理过程由程序员控制,内存泄露是困扰C/C程序员的一大难题。,C11中引入了智能指针的概念,方便管理堆内存。使用普通指针,容易造成堆内存泄露(忘记释放)、二次释放、程序发生异常时内存泄露等问题等,使用智 阅读全文
posted @ 2021-01-25 14:17 JakeLin 阅读(114) 评论(0) 推荐(0) 编辑