Any class with instances that are intended to be executed by a thread should implement the Runnable interface. The Runnable interface has only one method, which is called run().

The Thread class provides constructors and methods for creating and operating on threads. The thread extends the Object and implements the Runnable interface.

You can create threads by implementing the runnable interface and overriding the run() method. Then, you can create a thread object and call the start() method.

Thread can be referred to as a lightweight process. Thread uses fewer resources to create and exist in the process; thread shares process resources. The main thread of Java is the thread that is started when the program starts. The slave thread is created as a result of the main thread. This is the last thread to complete execution.

The run() method is not called by the thread you created. Instead, it is called by the thread that created the myThread.