3.1.1手写线程池与性能分析

编程入门 行业动态 更新时间:2024-10-28 09:20:57

3.1.1手写<a href=https://www.elefans.com/category/jswz/34/1771240.html style=线程池与性能分析"/>

3.1.1手写线程池与性能分析

1.线程池是是什么,组成结构,为什么
2.线程池实现 核心代码
3.线程池在开源框架中的应用

线程池是管理维持固定数量的池式结构

为什么是固定数量?
如何决定数量?
区分任务
1.cpu密集型 核心数个
2.io密集型(网络io,磁盘io)两倍的核心数个

为什么需要线程池?
性能优化,框架中最核心组件
某类任务特别耗时,严重影响该线程处理其他任务

1.异步执行的
2.作用:a.复用线程资源
b.充分利用系统资源

线程池是属于生产消费模型

线程池运行环境构成:
生产者线程 发布任务

队列 存储任务 调度线程池

消费者线程 取出任务,执行任务

自旋锁 互斥锁
区别在于一个线程在执行临界资源,其他线程在干什么

互斥锁其他线程发现锁被占用时去做别的

自旋锁其他线程发现锁被占用时,一直循环等待。

使用场景:如果一个锁持有临界资源的时间 (O(n))大于重新访问锁的时间,就用互斥锁

O(1)就用自旋锁

gcc -Wl,-rpath=./ main.c -o main -I./ -L./ -lthrd_pool -lphtread

更多推荐

3.1.1手写线程池与性能分析

本文发布于:2023-12-05 05:19:23,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1663202.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:线程   性能

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!