Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा में थ्रेड पूल

एक थ्रेड पूल प्री-इनिशियलाइज़्ड थ्रेड्स का एक संग्रह है। थ्रेड पूल के पीछे सामान्य योजना यह है कि मेथड स्टार्टअप पर विभिन्न प्रकार के थ्रेड्स बनाएं और उन्हें एक पूल में रखें, जहाँ भी वे बैठते हैं और काम की उम्मीद करते हैं। एक बार जब कोई सर्वर भागीदारी के लिए कॉल प्राप्त करता है, तो यह इस पूल से एक धागा जगाता है - यदि कोई उपलब्ध है - और इसे सेवा के लिए अनुरोध भेजता है। एक बार जब धागा अपनी सेवा पूरी कर लेता है, तो वह पूल में लौट आता है और बहुत सारे काम की प्रतीक्षा करता है। यदि पूल में कोई सुलभ थ्रेड नहीं है, तो सर्वर तब तक प्रतीक्षा करता है जब तक कि एक मुक्त नहीं हो जाता।

इससे समय की बचत होती है क्योंकि नया धागा बनाने की कोई आवश्यकता नहीं है।

इसका उपयोग सर्वलेट और जेएसपी में किया जाता है जहां इंस्ट्रुमेंटलिटी अनुरोध को पूरा करने के लिए थ्रेड पूल बनाती है।

उदाहरण

कर्मचारी थ्रेड.जावा

importjava.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
class EmployeeThread implements Runnable {
   private String message;
   public EmployeeThread(String s) {
      this.message=s;
   }
   public void run() {
      System.out.println(Thread.currentThread().getName()+" (Start) message = "+message);
      processmessage();//call processmessage method that sleeps the thread for 2 seconds
      System.out.println(Thread.currentThread().getName()+" (End)");//prints thread name
   }
   private void processmessage() {
      try { Thread.sleep(1000);
      }
      catch (InterruptedException e){
         e.printStackTrace(); }
   }
}

ExampleThreadPool.java

public class implementThreadPool {
   public static void main(String[] args) {
      ExecutorService executor = Executors.newFixedThreadPool(6); //creating a pool of 6 threads
      for (int m = 0; m< 6; m++) {
         Runnable worker = new EmployeeThread("" + i);
         executor.execute(worker); //calling execute method of ExecutorService
      }
      executor.shutdown();
      while (!executor.isTerminated()) { }
      System.out.println("Finished all the threads");
   }
}

  1. जावा में शामिल होने () विधि का महत्व?

    A शामिल हों () एक अंतिम . है थ्रेड . की विधि क्लास और इसका उपयोग किसी अन्य थ्रेड के निष्पादन के अंत में थ्रेड के निष्पादन की शुरुआत में शामिल होने के लिए किया जा सकता है ताकि एक थ्रेड तब तक चलना शुरू न हो जब तक कि कोई अन्य थ्रेड समाप्त न हो जाए। अगर शामिल हों () विधि को थ्रेड इंस्टेंस पर कॉल किया

  1. जावा में उपज () विधि का महत्व?

    एक उपज () विधि एक स्थिर . है थ्रेड . की विधि वर्ग और यह वर्तमान में निष्पादित धागे को रोक सकता है और उसी प्राथमिकता के अन्य प्रतीक्षा धागे को मौका देगा। यदि कोई वेटिंग थ्रेड नहीं है या सभी वेटिंग थ्रेड्स की कम प्राथमिकता . है तो फिर वही धागा अपना निष्पादन जारी रखेगा। उपज () . का लाभ विधि अन्य प्रत

  1. जावा में isDaemon () विधि का महत्व?

    डेमॉन थ्रेड एक निम्न-प्राथमिकता वाला थ्रेड . होता है जावा में जो पृष्ठभूमि में चलता है और ज्यादातर जेवीएम द्वारा कचरा संग्रह (जीसी) जैसे पृष्ठभूमि कार्यों को करने के लिए बनाया गया है। यदि कोई उपयोगकर्ता थ्रेड नहीं चल रहा है तो JVM बाहर निकल सकता है, भले ही डेमॉन थ्रेड चल रहे हों। डेमॉन थ्रेड का एकम