Bug定位分析
文章平均质量分 83
jfkidear
这个作者很懒,什么都没留下…
展开
-
多线程程序常见Bug剖析(上)
多线程程序常见Bug剖析(上) 编写多线程程序的第一准则是先保证正确性,再考虑优化性能。本文重点分析多线程编程中除死锁之外的另两种常见Bug:违反原子性(Atomicity Violation)和违反执行顺序(Ordering Violation)。现在已经有很多检测多线程Bug的工具,但是这两种Bug还没有工具能完美地帮你检测出来,所以到目前为止最好的办法还是程序员自己有意识的避免转载 2014-04-11 14:54:02 · 2162 阅读 · 0 评论 -
多线程程序常见Bug剖析(下)
多线程程序常见Bug剖析(下) 上一篇文章我们专门针对违反原子性(Atomicity Violation)的多线程程序Bug做了剖析,现在我们再来看看另一种常见的多线程程序Bug:违反执行顺序(Ordering Violation)。 简单来说,多线程程序各个线程之间交错执行的顺序的不确定性(Non-deterministic)是造成违反执行顺序Bug的根源[注1]。正是因为这转载 2014-04-11 15:05:53 · 1362 阅读 · 0 评论 -
为什么程序员需要关心顺序一致性(Sequential Consistency)而不是Cache一致性(Cache Coherence?)
为什么程序员需要关心顺序一致性(Sequential Consistency)而不是Cache一致性(Cache Coherence?) 最后一次修改:2010年11月11日 本文所讨论的计算机模型是Shared Memory Multiprocessor,即我们现在常见的共享内存的多核CPU。本文适合的对象是想用C++或者Java进行多线程编程的程序员。本文主要包括对Se转载 2014-04-11 15:15:45 · 696 阅读 · 0 评论 -
一个 Linux 上分析死锁的简单方法
一个 Linux 上分析死锁的简单方法 本文主要介绍一种在 Linux 上分析死锁问题的简单方法。主要介绍死锁的基本概念,以及如何使用 pstack 和 gdb 对死锁问题进行分析。 0 评论: 于 东海, 软件工程师, IBM 宋 波, 软件工程师, IBM 池 辰, 软件工程师, IBM 2012 年 8 月 10 日转载 2014-08-24 23:15:36 · 752 阅读 · 0 评论