gpt4 book ai didi

java - 线程处于 RUNNABLE 状态但堆栈跟踪显示它正在处理?

转载 作者:行者123 更新时间:2023-11-29 07:59:39 28 4
gpt4 key购买 nike

在对 Java 应用程序进行 Thread Dump 后,几个线程快照如下所示:

Thread t@384
java.lang.Thread.State: RUNNABLE
at xmlpdf.text.Word.allocateArrays(Word.java:205)
at xmlpdf.text.Word.calculateWidth(Word.java:237)
at xmlpdf.text.TextFormatter.format(TextFormatter.java:167)
at xmlpdf.text.TextFormatter.formatToWidthImpl(TextFormatter.java:116)
at xmlpdf.text.TextBlock.formatToWidthImpl(TextBlock.java:71)
at xmlpdf.tables.TextCell.formatToWidthImpl(TextCell.java:45)
at xmlpdf.tables.Cell.formatToWidth(Cell.java:349)
at xmlpdf.tables.Row.assignCellWidths(Row.java:97)
at xmlpdf.tables.Table.layout(Table.java:354)
at xmlpdf.tables.Table.formatRowsToWidth(Table.java:329)
at xmlpdf.tables.Table.formatToWidthImpl(Table.java:373)
at xmlpdf.Block.formatToWidth(Block.java:57)
at xmlpdf.renderer.Page.formatWidthAndHeight(Page.java:200)
at xmlpdf.renderer.Page.addBlockWhichIsNotFooterWholePagesOnly(Page.java:1026)
.....

几个相同的线程(由线程名称 标识)处于完全相同的状态。

仅供引用。通过 JMX 检查还显示这些线程运行了 4 小时。

问题:

线程如何处于 RUNNABLE 状态,而它的 Stack Trace 却显示它正在做某事?

我认为 RUNNABLE 总是意味着线程只是可用来处理任何新任务而不是处理任务。

最佳答案

Thread.State.RUNNABLE API:处于可运行状态的线程正在 Java 虚拟机中执行,但它可能正在等待来自操作系统的其他资源,例如处理器

关于java - 线程处于 RUNNABLE 状态但堆栈跟踪显示它正在处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15226080/

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