面向分布式计算的网络编程框架设计与实现
摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
第一章 绪论 | 第11-16页 |
1.1 背景介绍 | 第11-12页 |
1.2 国内外研究现状 | 第12-13页 |
1.3 主要研究内容 | 第13-14页 |
1.4 论文组织 | 第14-16页 |
第二章 相关理论与技术基础 | 第16-29页 |
2.1 I/O模型 | 第16-21页 |
2.1.1 阻塞式I/O模型 | 第16-17页 |
2.1.2 非阻塞式I/O模型 | 第17-18页 |
2.1.3 I/O复用模型 | 第18-19页 |
2.1.4 信号驱动式I/O模型 | 第19-20页 |
2.1.5 异步I/O模型 | 第20-21页 |
2.2 通信模型 | 第21-25页 |
2.2.1 Linux进程间通信发展史 | 第21-22页 |
2.2.2 共享内存与消息传递 | 第22-23页 |
2.2.3 Linux常见的通信机制 | 第23-25页 |
2.3 并发模型 | 第25-26页 |
2.3.1 对并发模型的分类 | 第25页 |
2.3.2 对并发模型的认识 | 第25-26页 |
2.4 高性能I/O设计模式 | 第26-27页 |
2.4.1 Reactor模式 | 第27页 |
2.4.2 Proactor模式 | 第27页 |
2.5 本章小结 | 第27-29页 |
第三章 网络编程框架的需求分析 | 第29-38页 |
3.1 线程同步需求分析 | 第29-30页 |
3.1.1 线程同步原语的选择 | 第29页 |
3.1.2 互斥量 | 第29-30页 |
3.1.3 条件变量 | 第30页 |
3.2 日志需求分析 | 第30-32页 |
3.2.1 日志的分类 | 第30-31页 |
3.2.2 功能分析 | 第31-32页 |
3.2.3 可靠性分析 | 第32页 |
3.3 多线程框架需求分析 | 第32-35页 |
3.3.1 线程标识 | 第32-33页 |
3.3.2 线程安全 | 第33页 |
3.3.3 信号处理 | 第33页 |
3.3.4 多线程与fork | 第33-34页 |
3.3.5 线程池 | 第34-35页 |
3.4 事件驱动框架需求分析 | 第35-36页 |
3.4.1 设计模式的选择 | 第35页 |
3.4.2 复用机制的选择 | 第35-36页 |
3.4.3 触发模式的选择 | 第36页 |
3.5 内存池需求分析 | 第36-37页 |
3.6 本章小结 | 第37-38页 |
第四章 网络编程框架的概要设计 | 第38-44页 |
4.1 实用基础类库概要设计 | 第38-39页 |
4.2 事件驱动框架概要设计 | 第39-42页 |
4.3 多线程框架的概要设计 | 第42-43页 |
4.4 本章小结 | 第43-44页 |
第五章 网络编程框架的实现 | 第44-62页 |
5.1 实用基础类库 | 第44-47页 |
5.1.1 线程安全的Singleton实现 | 第44-45页 |
5.1.2 线程同步类库 | 第45-47页 |
5.1.3 多线程异步日志库 | 第47页 |
5.2 事件驱动框架的实现 | 第47-57页 |
5.2.1 对事件循环的封装 | 第47-49页 |
5.2.2 对网络I/O事件的封装 | 第49-55页 |
5.2.3 对定时器事件的封装 | 第55页 |
5.2.4 对信号事件的封装 | 第55页 |
5.2.5 内存池的实现 | 第55-57页 |
5.3 多线程框架的实现 | 第57-61页 |
5.3.1 对线程的封装 | 第57-59页 |
5.3.2 线程池的实现 | 第59-61页 |
5.4 本章小结 | 第61-62页 |
第六章 网络编程框架的测试 | 第62-71页 |
6.1 实用基础类库的测试 | 第62-63页 |
6.2 事件驱动框架的测试 | 第63-67页 |
6.2.1 回射服务器的设计与实现 | 第63-64页 |
6.2.2 中继服务器的设计与实现 | 第64-67页 |
6.3 多线程框架的测试 | 第67-70页 |
6.3.1 空任务测试 | 第67-68页 |
6.3.2 加法线程池的测试 | 第68-70页 |
6.4 本章小结 | 第70-71页 |
第七章 总结与展望 | 第71-73页 |
致谢 | 第73-74页 |
参考文献 | 第74-76页 |
硕士期间学术成果 | 第76-77页 |