Obtaining
A Thread’s State
As mentioned earlier in this
chapter, a thread can exist in a number of different states. You can obtain the
current state of a thread by calling the getState(
) method defined by Thread. It
is shown here:
Thread.State getState( )
It returns a value of type Thread.State that indicates the state
of the thread at the time at which the call was made. State is an enumeration defined by Thread. (An enumeration is a list of named constants. It is
discussed in detail in Chapter 12.) Here are the values that can be returned by
getState( ):
Given a Thread instance, you can use getState(
) to obtain the state of a thread. For example, the following sequence
determines if a thread called thrd
is in the RUNNABLE state at the time
getState( ) is called:
Thread.State ts = thrd.getState();
if(ts == Thread.State.RUNNABLE) // ...
It is important to understand
that a thread’s state may change after the call to getState( ). Thus, depending on the circumstances, the state
obtained by calling getState( ) may
not reflect the actual state of the thread only a moment later. For this (and
other) reasons, getState( ) is not
intended to provide a means of synchronizing threads. It’s primarily used for debugging or for profiling a
thread’s run-time characteristics.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.