A thread is just like a program, which has a single flow of control. Threads are called lightweight processes.This is because ll the threads in a main application program share the same address space in the memory.
To understand this concept one should know about multitasking or multiprogramming concept. In these concept we know that the system can perform more than one task at a time. In multitasking there is single user and a multiprogramming there are number of users performs the number of jobs. According to these concept the java introduced multithreading concept. In multithreading the programmer can divide a single program into multiple parts(tasks). These are implemented by using thread class or by interface runnable.
Threads can be used for implementing animation in Java.Threads are ideals for anything that takes up a lot of time and run continuously. The Applet needs to implements the Runnable interface.