A thread is a single sequential flow of control. It has a beginning, a body and an end and executes the command sequentially. Java enables us to use multiple flow of control can be thought of as a separate program known as thread that runs in parallel to other programs.
A program that contains multiple flows of control is known as multithreaded program.
more on Threads: