I used google, and on the first page that appeared there was a very good chart that pretty much describes everything you need / need to know. Next time it's worth a google try for these types of questions.

1) New
A thread is in a new state if you create an instance of the Thread class, but before calling the start () method.
2) Runnable
The thread is in runnable state after calling the start () method, but the thread scheduler did not select it for the current thread.
3) Execution
The thread is in a running state if the thread scheduler has selected it.
4) Waiting time
Timeout is the state of the thread for a waiting thread with a given timeout. The thread is idle due to a call from one of the following methods with a specified positive timeout:
- Thread.sleep (going to bed)
- Object.wait (timeout)
- Thread.join (timeout)
- LockSupport.parkNanos (timeout)
- LockSupport.parkUntil (timeout)
5) Non-Runnable (Blocked)
This is a state where the thread is still alive, but currently it cannot be started.
6) Ends
A thread ends or is dead when its run () method exits.
Hope this answers your question :).
Parking:
Disables the current thread for thread scheduling purposes, if permission is available.
Streams are parked or paused if you want to call it that because it does not have permission to execute. After permission is granted, the thread will be inaccurate and executed.
LockSupport permissions are associated with streams (i.e., the resolution is transferred to a specific stream) and do not accumulate (i.e. there can only be one permission per stream, when the stream consumes permission, it disappears).
Maciej Cygan Dec 10 '14 at 16:50 2014-12-10 16:50
source share