簡體   English   中英

從java線程轉儲中理解行

[英]understanding line from java thread dump

我有以下線程轉儲,我使用jstack,並想知道runnable一詞旁邊的十六進制值顯示。 我看到在其他地方使用的相同值顯示為:

waiting on condition [0x00000000796e9000]

這是否意味着其他線程正在等待此線程?

runnable [0x00000000796e9000]

線程轉儲

"ajp-bio-8009-exec-2925" daemon prio=10 tid=0x0000000015ca7000 nid=0x53c7 runnable [0x00000000796e9000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:152)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)

我有以下線程轉儲,我使用jstack,並想知道runnable一詞旁邊的十六進制值顯示。 我看到在其他地方使用的相同值顯示為:

等待條件[0x00000000796e9000]

這是否意味着其他線程正在等待此線程?

是。 這表示一個線程持有鎖,另一個線程正在等待獲取該鎖。 這在概念上非常類似於synchronized關鍵字,但可以更強大(也更復雜)。 查看條件的javadoc以更好地理解條件。

這個問題/答案給出了線程轉儲中的屬性的描述(對於java 6)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM