Maison >Java >javaDidacticiel >Comment trouver des nombres premiers et palindromes en Java en utilisant le multithreading ?

Comment trouver des nombres premiers et palindromes en Java en utilisant le multithreading ?

WBOY
WBOYavant
2023-09-16 12:05:03567parcourir

Comment trouver des nombres premiers et palindromes en Java en utilisant le multithreading ?

Le multi-threading est une fonctionnalité du langage de programmation Java qui nous permet d'effectuer plusieurs opérations en même temps. En multithreading, les opérations sont divisées en parties plus petites appelées threads. Chaque thread effectue une tâche indépendante sans affecter les performances des autres threads. Le principal avantage du multi-threading est l’utilisation optimale des ressources telles que le CPU et l’amélioration du temps d’exécution des opérations d’allocation.

La recherche de nombres premiers et de palindromes est l'une des tâches de programmation de base que tout programmeur débutant effectue. Cependant, dans cet article, nous accomplirons la même tâche d’une manière passionnante. Nous discuterons d'un programme Java pour trouver des nombres premiers et palindromes à l'aide de threads dans un environnement multithread. Ici, les threads font référence à de petits sous-processus de grandes opérations.

Un programme pour trouver des nombres premiers et palindromes en utilisant le multithreading

Nous utiliserons le multithreading en Java pour trouver les nombres premiers et les nombres palindromes, comme suit :

Méthode

  • Créez une classe nommée 'Thrd' et définissez-y deux méthodes statiques 'opération1()' et 'opération2()', et définissez les paramètres correspondants.

  • Définissez la logique des nombres palindromiques dans "opération1()" et la logique des nombres premiers dans "opération2()". Les nombres premiers sont des entiers avec seulement deux facteurs 1 et le nombre lui-même, tandis que les palindromes se lisent à rebours de la même manière.

  • Allez plus loin et créez deux classes Thread. Dans la première classe de thread, appelez la méthode "operation1()" en passant des paramètres. De même, appelez la méthode "operation2()" dans la deuxième classe de thread.

  • Enfin, créez deux objets pour la classe thread dans la méthode principale et exécutez-les à l'aide de la méthode intégrée "start()".

Exemple

class Thrd {   
   // method to find palindrome number
   public static void operation1(int num) {    
      int num1 = num;
      int rev = 0;
      while(num1 != 0) {
         int rem = num1 % 10;
         num1 /= 10;
         rev = rev * 10 + rem;
      }
      if(num == rev) {
         System.out.println(num + " is a Palindrome number");
      } else {
         System.out.println(num + " is Not a Palindrome number");
      }  
   }
   // method to find prime number
   public static void operation2(int nums) {
      int countr = 0;
      if(nums == 2) {
         System.out.println(nums + " is a prime number");
      } else {
         for(int i = 1; i <= nums; i++) {
            if(nums % i == 0) {
               countr++;
            }
         }
         if(countr == 2) {
            System.out.println(nums + " is a prime number");
         } else {
            System.out.println(nums + " is not a prime number");
         }
      }
   }
}    
class Thrd1 extends Thread {   // thread number 1 
   public void run() {    
      Thrd.operation1(212); // calling method to check palindrome number   
   }    
}    
class Thrd2 extends Thread { // thread number 2    
   public void run() {    
      Thrd.operation2(23); // calling the method to check prime number   
   }    
} 
public class ThrdExecution {    
   public static void main(String args[]) {    
      // creating object for thread class
      Thrd1 oprt1 = new Thrd1();    
      Thrd2 oprt2 = new Thrd2();  
      // Starting the thread operation
      oprt1.start();    
      oprt2.start();  
   }    
}

Sortie

23 is a prime number
212 is a Palindrome number

Conclusion

Nous commençons cet article en présentant le multithreading et le threading. Nous avons ensuite défini l'énoncé du problème et notre objectif, qui est de trouver des nombres premiers et palindromes en utilisant le multithreading. Dans la section suivante, nous discutons de la solution au problème donné à travers un exemple de programme. Dans notre solution, nous avons créé deux threads distincts pour gérer la recherche des nombres premiers et palindromes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer