linux线程池
发布时间:2022-10-11 17:01:47 所属栏目:Linux 来源:转载
导读: 我们在写服务器的时候,通常需要处理多个客户端的频繁请求,这就需要频繁的创建线程和销毁线程,对CPU的消耗比较大,而线程池就是对这种情况的优化。
线程池的思路:
程序启动之前,初始化
线程池的思路:
程序启动之前,初始化
我们在写服务器的时候,通常需要处理多个客户端的频繁请求,这就需要频繁的创建线程和销毁线程,对CPU的消耗比较大,而线程池就是对这种情况的优化。 线程池的思路: 程序启动之前,初始化线程池,启动线程池中的线程,由于还没有任务到来,线程池中的所有线程都处在阻塞状态,当一有任务到达就从线程池中取出一个空闲线程处理,如果所有的线程都处于工作状态,就添加到队列,进行排队。如果队列中的任务个数大于队列的所能容纳的最大数量,那就不能添加任务到队列中线程池linux,只能等待队列不满才能添加任务到队列中。 何时不使用线程池线程
一般使用线程池的程序的特点
因为这里涉及到多个线程同时访问一个队列的问题,所以我们需要互斥锁来保护队列,同时还需要条件变量来处理主线程通知任务到达、工作线程抢夺任务的问题。 1、线程池结构,它负责管理多个线程并提供任务队列的接口 2、任务队列,存放待处理的任务 大体框架如下: 源码下载请戳链接 线程池的实现 (编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐