gpt4 book ai didi

java - 跟踪大型应用程序源代码中的线程初始化

转载 作者:行者123 更新时间:2023-12-01 04:45:44 25 4
gpt4 key购买 nike

如果应用程序在其代码中的不同位置(包括从引用的 jar 中)启动多个线程(使用 new Thread() 以及使用 ExecutorService),那么识别启动任何特定线程的源代码的最佳方法是什么(如应用程序的执行实例中所示)

这很有帮助,例如,在线程导致异常的情况下 - 我们需要从初始化线程的源代码开始(以便上下文清晰)。线程我从 VisualVM 获得的转储显示了许多正在运行/等待的线程,但堆栈根似乎总是位于 java.lang.Thread.run(Thread.java:722) 处 - 不是很有帮助。`

最佳答案

您能够在创建线程的地方插入代码吗?如果是这样,则在主类中创建一个静态 HashMap 以及一个公共(public)静态 put 方法。然后,每当您创建线程 t1 时,都调用 Main.putThreadId(t1.getId(),“一些标识创建线程的方法的文本”),并且当您捕获异常时,在 HashMap 中查找值。

关于java - 跟踪大型应用程序源代码中的线程初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15885845/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com