> Can we call the run() method manually, basically what
> is mechanism used behind the start() method.
> plz give me a link where i can get the deep concept
> about
> multithreading.
The reason behind using the start() method is that, execution of the thread is decided by the scheduler depending on its priority and CPU contention at that time. So start() method is just an indication to the scheduler that the Thread is ready to run. Depending on when this thread becomes a candidate to run, the scheduler will execute the run() method and get the Thread started. Hence, we CANNOT run the run() method manually, we always have to use the start() method as the entry point.
You can get more details on thread in SCJP Exam for J2SE5 from Apress publications. That is a good one.
You can of course, call run() directly because it is after all, just another method.
But if you call run() it will not create a separate thread and will return normally after running the code inside it once.
With start() a separate thread will be started and that will run independently of the thread where the method was invoked.
So if you're implementing run(), you're doing it because you want to use threads and without calling start() threads will not come into the picture.