2.1 Threads
2.1 Threads
A multi-threaded program contains two or more parts that can run concurrently and
each part can handle a different task at the same time.
New − A new thread begins its life cycle in the new state. It remains in this state
until the program starts the thread. It is also referred to as a born thread.
Runnable − After a newly born thread is started, the thread becomes runnable. A
thread in this state is considered to be executing its task.
Waiting − Sometimes, a thread transitions to the waiting state while the thread
waits for another thread to perform a task. A thread transitions back to the
runnable state only when another thread signals the waiting thread to continue
executing.
Timed Waiting − A runnable thread can enter the timed waiting state for a specified
interval of time. A thread in this state transitions back to the runnable state
when that time interval expires or when the event it is waiting for occurs.
Terminated (Dead) − A runnable thread enters the terminated state when it completes
its task or otherwise terminates.
THREAD CREATING
Threads can be created by using two mechanisms :
2-We create a new class which implements java.lang.Runnable interface and override
run() method. Then we instantiate a Thread object and call start() method on this
object.