- 4
- 0
- 约3.77千字
- 约 33页
- 2017-04-10 发布于上海
- 举报
多線程程序设计中的常见问题
多线程程序设计中的常见问题
内容
线程过多
数据竞争、死锁和活锁
线程安全函数和库
1. 线程过多
线程是否是越多越好?
多线程目的是为不同程序合理地安排运行时间,充分利用系统资源
过多的线程可能会严重影响程序的性能。
将给定的工作量划分给过多的线程会造成每个线程的工作量过少,因此可能导致线程启动和终止的开销比程序实际工作的开销还要多;
过多并发线程的存在将导致共享有限硬件资源的开销增大。
1. 线程过多
当软件线程的个数超过CPU核数时,支持抢占式多任务处理的操作系统一般会采用时间片轮转调度的方案。
当系统从一个软件线程切换到另一个软件线程时,它将保存被抢占的软件线程的线程上下文,并重新加载线程队列中下一个软件线程的上下文。
1. 线程过多
操作系统的时间片轮转调度方案也将引入额外开销,随着软件线程的增多,这种开销将会急剧增加,进而降低系统性能,这种开销有以下几种:
线程间切换时保存和恢复进程寄存器的开销。随着线程数目的增加,系统分给每个线程的时间片相应减少;
使用时间片机制的时候,保存和恢复线程使用的cache的开销则是更敏感的一种开销。
线程对主存的争夺,导致性能上的损失。
1. 线程过多
还存在一个性质不同,后果可能更加严重的问题。
护航,指线程聚集在一起,等待获取某一个锁。某个线程持有一个锁,并且用完了自己的时间片,所有等待这个锁的线程必须等待这个线程被唤醒并且释放锁。
您可能关注的文档
最近下载
- 石城县志(卷之1-9)蒋廷桂 主修,光绪18[1892]-7.pdf VIP
- B∕T 37758-2019 高矿化度矿井水处理与回用技术导则(高清可复制).pdf VIP
- 2025年四川教师招聘考试(数学专业知识)历年参考题库含答案详解.docx VIP
- 打屁股作文共九篇.doc VIP
- (2026年)实施指南《NBT 11030—2022 煤矿低浓度瓦斯发电机组通用要求》(2025年)实施指南.pptx VIP
- 【毕业论文致谢结尾】毕业论文致谢收尾.docx VIP
- (2026年)实施指南《NBT 51026-2014 煤矿矿井水深度处理 反渗透工艺技术要求》.pptx VIP
- 自动跟随智能小车的定位与跟随系统设计.doc VIP
- NSW毕设改.docx VIP
- 湖北武汉四中2025-2026学年高三下学期2月月考生物试卷 .docx VIP
原创力文档

文档评论(0)