【牛客网C++服务器项目学习】Day14-线程池类的封装

本文介绍了线程池的概念、优势及其在高并发场景下的应用。线程池通过预先创建线程并复用,提高了服务器响应速度和执行效率,减少了线程创建和销毁的开销。文中提到线程池设计要点包括工作队列、任务队列、回调函数和同步机制,并指出线程池本质是一个生产者/消费者模型。文章适合对C++服务器开发和线程池技术感兴趣的读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目学习地址:【牛客网C++服务器项目学习】

day14

1.环境配置

不知道有多少小伙伴和我一样,在之前的.c文件中,包含各种头文件进行编写不会产生报错,但是.h头文件中包含头文件就会报告【找不到源文件】的错误。产生错误的原因很简单:没有安装g++编译器。在linux的终端输入命令yum install gcc-c++即可(我的linux用的是centos)

img

  1. 线程池实现

线程池的优势:在传统的服务器开发中,面对一个客户端请求,通常是创建一个线程去处理请求,请求结束之后,销毁线程。也就是我们说的“即时创建,即时销毁”,这对于FTP,SMTP这些需要建立长时间连接,接收和发送数据的客户端请求来说,没有什么问题。但是随着互联网技术的发展,越来越多的短时、高频的连接请求需要得到满足(购物平台、“西安一码通”),过去的这种开发模式不再能满足当下的需求。

对于一个线程,有三个状态:创建、执行、销毁。对应三个时间:T1、T2、T3。要想提高高并发请求的响应速度和效率,势必要降低T1和T3在总时间的占比。线程池技术也就孕育而生了。

线程池技术是当下池化技术的一种,其他的池化技术还有:内存池等等。线程池技术的含义也很好理解,服务器提前创建好一些线程,放在一个“池子”中,当有工作任务到达后,从线程池中取出一个线程分配给当前的工作任务。任务结束后再返回给线程池。

线程池技术的优点有:

  • 提高服务器的响应速度和执行效率
  • 能够减少创建的线程个数。

线程池适用的场合:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值