Thread Priorities:
The Thread scheduler to decide whenever every thread should be permitted to run uses thread priorities. Theoretically, higher priority threads get more CPU time than lower priority threads. Within practice, the mount of CPU time in which a thread gets frequently depends on various factors besides its priority. (For instance, how an OS implements multitasking could affect the associative availability of CPU time.) A higher- priority thread can also preempt a lower priority one. For example, when a lower priority thread is running and a higher priority thread resumes (from sleeping or waiting on Input or Output, for instance,) it will preempt the lower priority thread.
Theoretically, threads of equivalent priority should get equal; access to the CPU. But you require being careful. Notice, Java is designed to work in a huge range of environments. Any of those environments implements multitasking fundamentally differently than others. For safety, threads which share the similar priority should yield control once in a while. This ensures in which all threads have a chance to run under a non preemptive OS. Within practice, even in non preemptive environments, blocking condition, like as waiting for I/O. Whenever this happens, the booked thread is suspended and other threads can run. But, if you need smooth multithreaded execution, you are better off not relying on this. Also, a few types of tasks are CPU intensive. Like threads, dominate the CPU. For these categories of threads, you need to yield control occasionally, so that other threads could run.
To set a thread's priority, use the setPriority ( ) function, that is a member of Thread. This is its common form.
final void setPriority (int level)
Here, stage specifies the new priority setting for the calling thread. A value of level must be inside the range MAX_PRIORITY and MIN_PRIORITY. Currently, these values are 1 and 10 correspondingly. For return a thread to default priority, specify NORM_PRIORTY that are currently 5. These priorities are declared as final variables within Thread.