Home >Java >javaTutorial >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.
We will use multithreading in Java to find prime numbers and palindrome numbers. The specific method is as follows:
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()".
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(); } }
23 is a prime number 212 is a Palindrome number
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!