- 0
- 0
- 约2.17千字
- 约 22页
- 2017-08-20 发布于天津
- 举报
多核测试与调试
多核测试与调试
周伟明
目录
• 常见问题和陷阱
• 测试方法
• 调试技巧
• 性能瓶颈分析
常见问题和陷阱
• 数据竞争
• 死锁
• 数据操作时序
• 活锁
• 原子操作
• 资源回收
• 优先级翻转
• 线程挂起或死亡
• 线程重启
数据竞争
• OpenMP中的数据竞争
• 原子操作中的数据竞争
• 通常多线程环境中的数据竞争
死锁
• 忘记解锁
• 嵌套锁顺序错误
• 递归锁
数据操作时序
发生于两次加锁解锁之间任务进行了切换
问题的出现是随机性的,有些问题出现概率很
小,很难定位
一般使用代码静态分析方法来发现这类问题
使用原子操作时最容易犯这个问题,这也是无
锁编程的困难所在
原创力文档

文档评论(0)