线程视图是检测线程瓶颈的主要视图。它显示每个程序线程的活动记录,并帮助您识别线程争用和死锁。
当线程等待的资源不现成可用时发生争用;争用会降低代码的执行速度,但在一段时间后可以清除。
当线程正在等待被第二个线程锁定的资源并且第二个线程正在等待被第一个线程锁定的资源时,发生死锁。在死锁中可以涉及多于两个线程。死锁决不会自己解决。它经常会引起整个应用程序或经历死锁的应用程序部分中断。
要查找线程争用和死锁:
- 显示“线程视图”:右键单击您的“线程分析”概要分析资源,然后在弹出菜单中选择。
- 在“线程视图”中查找线程间的垂直箭头。单个箭头表示线程争用:一个线程正在等待另一个线程释放锁。多个箭头可以表示死锁。菱形标记表示线程正在等待一个锁,但无法确定保留该锁的线程。
- 在等待锁的线程段上悬停鼠标。这将显示一个工具提示,指明锁的名称并指出正保留该锁的线程。
下面是一个争用示例:

下面是一个死锁示例:

注:使用“执行时间分析”概要分析类型对程序进行概要分析,使您能够收集和显示线程数据,但仅用于处于“正在运行”和“死亡”状态的线程。要显示瓶颈,您必须在您的概要分析集合中包含“线程分析”概要分析类型。
以下主题提供控制线程视图的指示信息: