Java thread status: 1. New state New; 2. Ready state Runnable; 3. Running state Running; 4. Blocked state Blocked; 5. Death state Dead.
The operating environment of this article: Windows 7 system, Dell G3 computer, Java 8.0 version.
java thread status:
1. New state (New): After the thread object is created, it enters the new state.
For example, Thread thread = new Thread()
.
2. Ready state (Runnable): Also known as "executable state". After the thread object is created, other threads call the object's start() method to start the thread. For example, thread.start(). Threads in the ready state may be scheduled for execution by the CPU at any time.
3. Running status (Running): The thread obtains CPU permissions for execution. It should be noted that a thread can only enter the running state from the ready state.
4. Blocked state (Blocked): The blocked state means that the thread gives up the right to use the CPU for some reason and temporarily stops running. Until the thread enters the ready state, it has a chance to move to the running state. There are three types of blocking situations:
(01) Waiting for blocking - by calling the thread's wait() method, let the thread wait for the completion of a certain work.
(02) Synchronous blocking -- If the thread fails to acquire the synchronized synchronization lock (because the lock is occupied by other threads), it will enter the synchronization blocking state.
(03) Other blocking -- The thread will enter the blocking state by calling the thread's sleep() or join() or issuing an I/O request. When the sleep() state times out, join() waits for the thread to terminate or times out, or the I/O processing is completed, the thread returns to the ready state.
5. Death state (Dead): The thread has finished executing or exited the run()
method due to an exception, and the thread ends its life cycle .
Related free learning recommendations: java basic tutorial
The above is the detailed content of What are the java thread states?. For more information, please follow other related articles on the PHP Chinese website!