级别: 中级
李 凌, 软件架构师, IBM
2009 年 12 月 10 日
随着多核 CPU 的日益普及,越来越多的 Java应用程序使用多线程并行计算来充分发挥整个系统的性能。多线程的使用也给应用程序开发人员带来了巨大的挑战,不正确地使用多线程可能造成线程死锁或资源竞争,导致系统瘫痪。因此,需要一种运行时线程监控工具来帮助开发人员诊断和跟踪 Java 线程状态的切换。JDK 1.5及其后续版本提供了监控虚拟机运行状态的接口 JVMTI。本文深入分析了 JVM 中的 Java线程模型,设计了用于监控线程状态切换的模型,并基于 JVMTI 实现了对 Java 线程切换进行监控的代理程序。