JRockit Thread Status

This Article will help you to understand different states and status of thread in Jrockit Thread dump.


Thread Status are defined in three ways.
  • Life States
  • Run States
  • Special States

Life States
    • alive
      This is typical, running thread Virtually all threads in the thread dump will be (alive).

    • not started
      The thread was requested to start running by java.lang.Thread.start(), but the actual OS process has not yet started or executed far enough to pass control to the JRockit JVM. It is unlikely to see this value. A java.lang.Thread object that is created, but has not had start() executed, will not show in the thread dump.
    • terminated
      This thread has finished its run() and has also notified any threads joining on it, but it is still kept in the JVM internal thread structure for running threads. It is unlikely to see this value. A thread that has been terminated for a time longer than a few milliseconds will not show in the thread dump.


Run States
    • blocked
      This thread tried to enter a synchronized block, but the lock was taken by another thread. This thread is blocked until the lock gets released.
    • blocked (on think lock)
      This is the same state as blocked, but the lock in question is a thin lock.
    • waiting
      This thread called Object.wait() on an object. The thread will remain there until some other thread sends a notification to that object.
    • sleeping
      This thread called java.lang.Thread.sleep().
    • parked
      This thread called java.util.concurrent.locks.LockSupport.park().
    • suspended
      The thread's execution was suspended by java.lang.Thread.suspend() or a JVMTI agent call.
Special States
    • interrupted
      The user called java.lang.Thread.interrupt() on this thread.
    • daemon
      This is either JVM internal thread or a thread that was marked as a daemon thread byjava.lang.Thread.setDaemon().
    • in native
      This thread is executing native code: either user-supplied JNI code or JVM internal code.
    • in suspend critical mode
      This thread is executing JVM internal code and has marked itself as suspend critical. Garbage collection is stopped for a specified time period.
    • native_blocked
      This thread is executing JVM internal code and has tried to take a JVM internal lock. The thread is blocked because that lock is held by another thread.
    • native_waiting
      This thread is executing JVM internal code and is waiting for notification from another thread about a JVM internal lock.




Post a Comment

0 Comments