Webserver项目学习
1. 项目框图
2. 概念理解
2.1 线程同步:是多个线程同时访问同一资源时,等待资源访问结束。
2.2 线程异步:访问资源时,如果有空闲时间,则可在空闲等待同时访问其他资源,实现多线程机制
2.3 阻塞IO、非阻塞IO、同步IO、异步IO
用户进程发起从内核中获取数据,操作系统还没有准备好数据,有两种方法:
- 让用户等着(阻塞);
- 返回一个ERROR,不需要用户进程干等(非阻塞)。
过了一会,操作系统准备好数据了,这时候有两种方法:
- 啥也不管,等着用户进程再次请求才把数据给它(同步);
- 负责到底,数据准备好直接给到用户进程,并且还发出一个信号,告诉用户进程数据准备好了(异步)。
2.4 Reactor模式与Proactor模式:见小林coding操作系统9.3。
参考:
1、绘图软件:draw.io;
2、线程同步与异步;
3、Webserver分析;
4、同步IO、异步IO的理解。