项目学习地址:【牛客网C++服务器项目学习】
day14
1.环境配置
不知道有多少小伙伴和我一样,在之前的.c文件中,包含各种头文件进行编写不会产生报错,但是.h头文件中包含头文件就会报告【找不到源文件】的错误。产生错误的原因很简单:没有安装g++编译器。在linux的终端输入命令yum install gcc-c++
即可(我的linux用的是centos)
- 线程池实现
线程池的优势:在传统的服务器开发中,面对一个客户端请求,通常是创建一个线程去处理请求,请求结束之后,销毁线程。也就是我们说的“即时创建,即时销毁”,这对于FTP,SMTP这些需要建立长时间连接,接收和发送数据的客户端请求来说,没有什么问题。但是随着互联网技术的发展,越来越多的短时、高频的连接请求需要得到满足(购物平台、“西安一码通”),过去的这种开发模式不再能满足当下的需求。
对于一个线程,有三个状态:创建、执行、销毁。对应三个时间:T1、T2、T3。要想提高高并发请求的响应速度和效率,势必要降低T1和T3在总时间的占比。线程池技术也就孕育而生了。
线程池技术是当下池化技术的一种,其他的池化技术还有:内存池等等。线程池技术的含义也很好理解,服务器提前创建好一些线程,放在一个“池子”中,当有工作任务到达后,从线程池中取出一个线程分配给当前的工作任务。任务结束后再返回给线程池。
线程池技术的优点有:
- 提高服务器的响应速度和执行效率
- 能够减少创建的线程个数。
线程池适用的场合: