池式组件
文章平均质量分 61
古德jiò
这个作者很懒,什么都没留下…
展开
-
池式组件之线程池(c语言实现)
目录线程池的作用线程池的工作原理线程池代码技术参考 线程池的作用 1、减少线程创建与销毁的开销 2、异步解耦的作用,如日志,主线程要求高性能,写日志写多了就耗时,那么将日志任务交给线程池来处理,就能保证主线程高效 线程池的工作原理 线程池是当做组件在使用的。 线程池需要提供的API: 1、创建 create 2、插入任务 push_task 3、销毁 destroy 4、获取任务数量 task_count(可选) 5、空闲线程数量 free_thread(可选) 可以把线程池理解为银行大堂,处理业务的柜原创 2022-01-16 19:28:22 · 291 阅读 · 0 评论 -
池式组件之异步请求池
请求池 用于请求第三方服务,如mysql/redis,下图中第三列是第三方服务。当大批量数据去请求第三方服务时(单线程),阻塞等待返回是十分耗时的操作(及时单次阻塞等待时间很短),因此可以引入异步请求池。 基本原理就是业务服务器请求第三方服务后,不阻塞等待,用另外一个线程去等待结果 要点 1、发送请求是多个io,即业务服务器与第三方服务器之间有多个fd连接,因为单fd的话,一次只能申请一次服务 2、在发送请求之后,将fd利用epoll_ctl加入到epoll中,接受结果的线程去判断epoll中数据原创 2022-01-17 21:05:05 · 747 阅读 · 0 评论