Java中,多线编程中线程监视,教程来了,你还在等什么?

Java,大家是不是听到的大多是游戏,这些游戏的编程也是很有意思的,相互之间的联系都是关联起来的,下面就由我这个编程小行家给同学们讲讲线程之间的关系吧。

一个真实的Java系统运行时往往有上百个线程在运行,如果没有相应的工具能够对这些线程进行监视,那么这些线程对于我们来说就成了黑盒。而我们在开发过程中进行代码调试、定位问题甚至是定位线上环境(生产环境)中的问题时往往都需要将线程变为白盒,即我们要能够知道系统中特定时刻存在哪些线程、这些线程处于什么状态以及这些线程具体是在做什么事情这些信息。

对线程进行监视的主要途径是获取并查看程序的线程转储(ThreadDump)。一个程序的线程转储包含了获取这个线程转储的那一刻该程序的线程信息。这些信息包括程序中有哪些线程以及这些线程的具体信息。Java程序的线程转储。

包含的线程具体信息包括线程的属性(ID、名称、优先级等)、生命周期状态、线程的调用栈(CallStack)以及锁的相关信息等。通过查看调用栈我们就能够了解线程的执行情况(具体在干些什么)。获取线程转储的方法如表1JDK自带的工具jvisualvm适合于在开发和测试环境下监视Java系统中的线程情况。jvisualvm不仅可以用来获取线程转储,它还支持直接选中一个线程来查看该线程的调用栈[3]。

JavaMissionControl(JMC)不仅能够用来获取与查看线程转储,它还支持其他功能。

以上呢就是小编给大家整理的关于JAVA系统中的线程的监视的一些资料,同学们我们一起来学习吧。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180913A236IU00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券