A)
->”priority” is a number, used by the Thread scheduler in allocating CPU cycles to a particular Thread in preference to other active Threads.
-> Priority ranges between 1 to 10. 1 is the least priority, 10 is the highest priority and 5 is the normal priority.
->java.long.Thread class has 3 constants.
1) MIN_PRIORITY
2) NORM_PRIORITY
3) MAX_PRIORITY
These are constants is Thread class.
public class Thread implements Runnable
{
public static final int MIN_PRIORITY=1;
public static final int NORM_PRIORITY=5;
public static final int MAX_PRIORITY=10;
---------
---------
}
->thread class is the library class.
->we can set priority to a thread by calling setPriority() method on the thread object.
Ex:
Thread t1 = new thread ();
T1.setPriority (Thread.MAX_PRIORITY);
Or t1.setPriority (10);
->by calling getPriority() method on the thread object, we can find its priority.
->setting the priority of a thread is useless, if it is done after the thread is activated.
->before start () method only we must set the priority after start () we setting the priority its waste.
->By default main Thread has a priority of 5. By default every its child Thread will also have the same priority.
class priorityExample {
public static void main(String[] args) {
(1)--------- Thread t1= Thread.currentThread();
System.out.println("this thread :"+t1.getName());
System.out.println("t1 priority:"+t1.getPriority());
Thread t2Thread= new Thread();
System.out.println("t2 Priority:"+t1.getPriority());
t1.setPriority(8);
Thread t3= new Thread();
System.out.println("t3 priority"+t1.getPriority());
}
}
(1) In which flow that flow object reference is returns.
->any Thread priority is its parent priority. In the above example t1 contain current flow i.e. main flow because the main () calling on the main thread (flow) by the JVM.
->even though the t3 is new one but, before get in priority we setting its parent Thread i.e. t1.setPriority (8). So, t3 priority is 8.
Comments
Post a Comment