Home >Java >javaTutorial >How to find prime and palindrome numbers in Java using multithreading?

How to find prime and palindrome numbers in Java using multithreading?

WBOY
WBOYforward
2023-09-16 12:05:03595browse

How to find prime and palindrome numbers in Java using multithreading?

Multi-threading is a feature of the Java programming language that allows us to perform multiple operations at the same time. In multithreading, operations are divided into smaller parts called threads. Each thread performs an independent task without affecting the performance of other threads. The main benefit of multi-threading is the optimal utilization of resources such as CPU and improved execution time of allocation operations.

Finding prime numbers and palindromes is one of the basic programming tasks that every beginner programmer performs. However, in this article we will accomplish the same task in an exciting way. We will discuss a Java program to find prime and palindrome numbers using threads in a multi-threaded environment. Here, threads refer to small sub-processes of large operations.

A program to find prime and palindrome numbers using multithreading

We will use multithreading in Java to find prime numbers and palindrome numbers. The specific method is as follows:

method

  • Create a class named 'Thrd' and define two static methods 'operation1()' and 'operation2()' in it, and define the corresponding parameters.

  • Define palindromic number logic in "operation1()" and define prime number logic in "operation2()". Prime numbers are integers with only two factors 1 and the number itself, while palindromes read backwards the same as forwards.

  • Further, create two Thread classes. In the first thread class, call the "operation1()" method by passing parameters. Likewise, call the "operation2()" method in the second thread class.

  • Finally, create two objects for the thread class in the main method and execute them using the built-in method "start()".

Example

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();  
   }    
}

Output

23 is a prime number
212 is a Palindrome number

in conclusion

We start this article by introducing multithreading and threading. We then defined the problem statement and our goal, which is to find prime and palindrome numbers using multithreading. In the next section, we discuss the solution to the given problem through an example program. In our solution, we created two separate threads to handle finding prime and palindrome numbers.

The above is the detailed content of How to find prime and palindrome numbers in Java using multithreading?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete