So implementieren Sie die Methode getCorePoolSize() von ThreadPoolExeceutor in Java

Die Thread-Pool-Executor-Klasse in Java gehört zum Executor-Dienst in Java, der grundsätzlich für die Ausführung der übermittelten Aufgaben verantwortlich ist. Verschiedene Methoden in der ThreadPoolExecutor-Klasse waren hilfreich bei der Bestimmung des aktuellen Status von Aufgaben, der Poolgröße, der aktiv ausgeführten Threads und vielem mehr.

In diesem Artikel wird die Methode getCorePool size() von ThreadPoolExecutor in Java ausführlich besprochen.

Thread Pool Executor getCorePoolSize()-Methode in Java

Die Methode getCorePoolSize() hat die Aufgabe, die Anzahl der Threads zu berechnen, die die Aufgaben derzeit ausführen. Vereinfacht ausgedrückt werden die im Pool aktiven Threads als Kernpoolgröße betrachtet.

getPoolSize()-Syntax

Die Syntax der Methode ist unten dargestellt.

Public int getCorePoolSize()

Beispiel: Implementierung der Methode getCorePoolSize() in Java

Der folgende Code zeigt die Implementierung der getPoolSize()-Methode:

//Import all the packages of concurrent
import java.util.concurrent.*; 
import java.lang.Thread; 
// Declare a class
class corepoolsize { 
//Interrupted Exception
public static void main(final String[] arguments) throws InterruptedException { 
            ThreadPoolExecutor execute = (ThreadPoolExecutor)Executors.newCachedThreadPool();
            // Submit() method to get the return value
            execute.submit(new nTasks()); 
            execute.submit(new nTasks()); 
            //Get the core pool size execution time
            System.out.println("CORE POOL SIZE METHOD");
            System.out.println("The size of Core pool after execution is: " + execute.getCorePoolSize());
            //After the process is complete shutdown
            execute.shutdown(); 
            }   
//the runnable interface for the thread to run
static class nTasks implements Runnable { 
      @Override 
      //The try catch block in the run method for the running threads
      public void run() { 
                    try { 
                        Long duration = (long) (Math.random() *7 );
                        //Output for the threads currently running
                        System.out.println("Current thread that is running: " + Thread.currentThread().getName()); 
                        TimeUnit.SECONDS.sleep(duration);
                        //Output for the threads that have completed running
                        System.out.println("The thread that has completed running: " +Thread.currentThread().getName()); 
                        } catch (InterruptedException e) {  } 
                    } 
  } 
}

Im obigen Code:

  • Die entsprechenden Pakete wurden importiert.
  • Eine Klasse wurde erstellt und eine unterbrochene Ausnahme wurde übergeben.
  • Der zwischengespeicherte Thread-Pool erstellt bei Bedarf neue Threads, andernfalls werden die zuvor erstellten Threads wiederverwendet.
  • Die Aufgaben wurden zur Ausführung eingereicht.
  • Der getCorePoolSize() Die Methode gibt nach der Ausführung die Größe des Kernpools zurück.
  • Der abschalten() Die Methode beendet die aktuell ausgeführten Aufgaben.
  • Der laufen() Die Methode der Runnable-Schnittstelle enthält den Thread, der gerade ausgeführt wird, und den Thread, dessen Ausführung abgeschlossen ist.

Ausgabe

In der Ausgabe oben:

  • Die Threads aus den jeweiligen Pools wurden abgedruckt.
  • Die Größe von CorePool nach der Ausführung ist 0.
  • Die nun abgeschlossenen Threads wurden entsprechend ausgedruckt.

Damit endet dieser Artikel über die Methode getCorePoolSize() in Java.

Abschluss

Die Thread-Pool-Executor-Methode in Java besteht aus mehreren Funktionen. Eine der Hauptfunktionen ist getCorePoolSize(), die im Wesentlichen für die Bereitstellung der Anzahl der Threads verantwortlich ist, die aktuell die Aufgaben ausgeführt haben. In diesem Artikel haben wir die Implementierung der getCorePoolSize-Methode von Java aus der ThreadPoolExecutor-Klasse ausführlich erläutert.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen