Programming Pandit

c/c++/c#/Javav/Python


Latest Update

Wednesday, April 2, 2025

java program that implements a multi-threaded application

 Objective:  Write a java program that implements a multi-threaded application that has three threads. First thread generates a random integer every 1 second and if the value is even, second thread computes the square of the number and prints. If the value is odd, the third thread will print the value of cube of the number.


Code:

import java.util.Random;


class NumberGenerator extends Thread {

    public void run() {

        Random rand = new Random();

        for (int i = 0; i < 10; i++) { // Run for 10 iterations

            int num = rand.nextInt(100); // Generate a random number between 0-99

            System.out.println("Generated Number: " + num);

            if (num % 2 == 0) {

                Square squareThread = new Square(num);

                squareThread.start();

            } else {

                Cube cubeThread = new Cube(num);

                cubeThread.start();

            }

            try {

                Thread.sleep(1000); // Wait for 1 second

            } catch (InterruptedException e) {

                System.out.println("Thread interrupted: " + e.getMessage());

            }

        }

    }

}


class Square extends Thread {

    private final int number;


    public Square(int number) {

        this.number = number;

    }


    public void run() {

        System.out.println("Square of " + number + " is: " + (number * number));

    }

}


class Cube extends Thread {

    private final int number;


    public Cube(int number) {

        this.number = number;

    }


    public void run() {

        System.out.println("Cube of " + number + " is: " + (number * number * number));

    }

}


public class MultiThreadedApplication {

    public static void main(String[] args) {

        NumberGenerator generator = new NumberGenerator();

        generator.start();

    }

}




Output:




No comments:

Post a Comment