थ्रेड की प्राथमिकता (Thread Priority)

जावा में हर थ्रेड को प्राथमिकता दी जा सकती है जिससे उस थ्रेड के कार्यान्वित होने का क्रम निष्चित होता है। सभी थ्रेड्स की एक ही प्राथमिकता होने पर पर वे पहले आओ पहले पाओ के आधार पर कार्यान्वित होते हैं। जावा में हम setPriority( ) मैथड द्वारा किसी थ्रेड की प्राथमिकता बदल सकते हैं।

threadName.setPriority(int number);

यहाँ threadName आॅब्जेक्ट है। थ्रेड की प्राथमिकता तय करने के लिए जावा में पहले से बने हुए कुछ काॅन्सटेंट होते हैं। इन्हें प्राथमिकता तय करने के लिए थ्रेड आॅब्जेक्ट के साथ प्रयोग किया जाता है। इन काॅन्सटेंट्स का मान निम्न प्रकार होता है।

MIN_PRIORITY = 1
NORM_PRIORITY = 5    //default
MAX_PRIORITY = 10

नीचे दिए गए उदाहरण में थ्रेड की प्राथमिकता को समझाया गया है।

class A extends Thread
{
  public void run()
  {
    int i;
    for(i=1; i<=10; i++)
    {
      System.out.print("A=" + i + ",");
    }
  }
}
class B extends Thread
{
  public void run()
  {
    int j;
    for(j=1; j<=10; j++)
    {
      System.out.print("B=" + j + ",");
    }
  }
}
public class Demo
{
  public static void main(String arr[])
  {
    A o1 = new A();
    B o2 = new B();
    o1.setPriority(1);
    o2.setPriority(Thread.MAX_PRIORITY);
    o1.start();
    o2.start();
   }
}

Output:

B=1,B=2,B=3,B=4,B=5,B=6,B=7,B=8,B=9,B=10,A=1,A=2,A=3,A=4,A=5,A=6,A=7,A=8,A=9,A=10,

Thread क्लास के कुछ अन्य मैथड

Thread Dykl dqN eSFkM~l ,sls gSa] ftudk iz;ksx vDlj iz;ksx fd;k tkrk gSA os gSa%

  • getName( ): इस मैथड का प्रयोग थ्रेड का नाम रिटर्न कराने के लिए किया जाता है।
  • getPriority( ): इस मैथड का प्रयोग थ्रेड की प्राथमिकता रिटर्न कराने के लिए किया जाता है।
  • isAlive( ): इस मैथड का प्रयोग यह ज्ञात करने के लिए किया जाता है कि थ्रेड अभी मैमोरी में है अथवा नहीं।

नीचे दिए गए उदाहरण में Thread क्लास के getName( ), getPriority( ) तथा isAlive( ) मैथड के प्रयोग को दर्शाया गया है।

class a extends Thread
{
  public void run()
  {
    int i;
    System.out.println("Thread Name: "+this.getName());
    System.out.println("Thread Priority: "+this.getPriority());
    System.out.println("Alive: "+this.isAlive());
    for(i=1;i<=10;i++)
    {
      System.out.print("A=" + i + ",");
    }
  }
}
class b extends Thread
{
  public void run()
  {
    int j;
    System.out.println("Thread Name: "+this.getName());
    System.out.println("Thread Priority: "+this.getPriority());
    System.out.println("Alive: "+this.isAlive());
	for(j=1;j<=10;j++)
    {
      System.out.print("B=" + j + ",");
    }
  }
}
public class demo
{
  public static void main(String arr[])
  {
    a o1=new a();
    b o2=new b();
    o1.setPriority(1);
    o2.setPriority(10);
    o1.start();
    o2.start();
   }
}

Output:

Thread Name: Thread-0
Thread Priority: 1
Alive: true
A=1,A=2,A=3,A=4,A=5,A=6,A=7,A=8,A=9,A=10,Thread Name: Thread-1
Thread Priority: 10
Alive: true
B=1,B=2,B=3,B=4,B=5,B=6,B=7,B=8,B=9,B=10,
सुझाव / कमेंट