jan*_*ith 7 java multithreading
在Java中,线程可以具有不同的状态:
NEW,RUNNABLE,BLOCKED,WAITING,TIMED_WAITING,TERMINATED
但是,当线程被IO阻塞时,其状态为"RUNNABLE".如何判断它是否被IO阻止?
ven*_*iac 11
另见http://architects.dzone.com/articles/how-analyze-java-thread-dumps
线程转储
转储java线程堆栈你可以找到类似的东西
java.lang.Thread.State: RUNNABLE
at java.io.FileInputStream.readBytes(Native Method)
Run Code Online (Sandbox Code Playgroud)
要么
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
Run Code Online (Sandbox Code Playgroud)
你可以理解java正在等待响应.
我建议使用这个工具Java Thread Dump Analyzer或者这个插件TDA
ThreadMXBean的
Yiu可以使用ThreadMXBean获取更多信息
http://docs.oracle.com/javase/7/docs/api/java/lang/management/ThreadMXBean.html