效果图参考网站,app公司开发价格,郑州网络公司做医疗网站,各大网站的网址文章目录 一、线程池技术二、使用原理三、优点总结 一、线程池技术
预创建原则#xff0c;线程池内部准备线程备用#xff0c; 不宜过多。线程应该重用性#xff0c;可以一对多处理任务或服务不同的客户端。处理单元(线程)数量并不固定#xff0c;动态扩容与缩减(任务量)。… 文章目录 一、线程池技术二、使用原理三、优点总结 一、线程池技术
预创建原则线程池内部准备线程备用 不宜过多。线程应该重用性可以一对多处理任务或服务不同的客户端。处理单元(线程)数量并不固定动态扩容与缩减(任务量)。设计灵活的任务传递方式与任务接口线程可以执行不同种类的任务不能将线程工作固定。
二、使用原理
线程与线程之间有一个任务传递方式生产者——消费者。 监听线程就是生产者处理线程就是消费者。通过条件变量互斥锁实现。 生产者与消费者之间有一个任务队列怎么实现都可以我用的是环形队列。 条件变量需要创建工作条件生产者把任务放到队列中来消费者拿走处理。 生产者工作条件任务队列非满。满则挂起。添加完毕唤醒消费者。 消费者条件相反任务队列非空获取任务执行为空则挂起。执行任务完毕唤醒生产者继续生产。 任务队列是共享资源多线程访问需要互斥。任务队列里是函数指针队列 线程池技术为多线程技术
主线程生产者负责epoll负责工作
epoll监听树创建。设置第一次监听阻塞多轮监听
如何处理协议通过协议映射表函数指针列表通过不同的协议编号执行不同的函数。 生产者访问树更多是读访问知道所有文件描述符轮询监听。 消费者也要访问树要去执行链接将sock放到树上。链接断开将sock从树上移除。 还要找个管理者负责扩容和缩减负责管理消费者。管理线程状态完成扩容和缩减任务。
三、优点
提高资源利用率线程池可以重复利用已经创建了的线程提高响应速度因为当线程池中的线程没有超过线程池的最大上限时有的线程处于等待分配任务状态当任务到来时无需创建线程就能被执行。具有可管理性线程池会根据当前系统特点对池内的线程进行优化处理减少创建和销毁线程带来的系统开销。 总结
一共仨身份一个生产者线程、一个管理者和n个消费者线程有一个监听队列有一个监听树。要做一个线程的消息映射表不同sock就绪执行不同的任务。读取不同客户端请求还要对协议进行再一次解析。