Homework 3 – Threads in Java Write a Java program that creates several threads, according to the following scenario:  The initial thread will be called the main thread (M)  The main thread (M)...

1 answer below »
n/a


Homework 3 – Threads in Java Write a Java program that creates several threads, according to the following scenario:  The initial thread will be called the main thread (M)  The main thread (M) creates and starts two worker threads; each worker thread will work on its task  The main thread (M) joins the two worker threads in the end and computes the final result The goal of this program is to find all the Vampire numbers in the interval [100000, 999999]. To achieve this goal we will scan all the integer numbers from 100000 to 999999 and for each of these numbers we must perform a test to verify if that number is a Vampire number or not. In order to solve this problem faster, (assuming we have at least two processors on our system) we will divide the work between the two worker threads: on worker will scan and verify all the even numbers and the other worker will scan and verify all the odd numbers in the interval. More precisely, the following list describes the behavior of each thread: 1. The main thread (M) creates the two worker threads, starts them and joins them in the end. After that, the main thread will compute and display the TOTAL number of Vampire numbers found in the interval [100000, 999999] as “The TOTAL number of Vampire numbers found is: …” (the ellipsis stand for the actual number) 2. The first worker will scan and verify all the even numbers in the interval [100000, 999999]; whenever a new Vampire number is found, it will be displayed like this: “First worker found: …” (the ellipsis stand for the actual number); a counter will be incremented every time a new Vampire number was found, and in the end the total number of Vampire numbers found will be displayed: “First worker found … Vampire numbers” (the ellipsis stand for the actual number) 3. The second worker will scan and verify all the odd numbers in the interval [100000, 999999]; whenever a new Vampire number is found, it will be displayed like this: “Second worker found: …” (the ellipsis stand for the actual number); a counter will be incremented every time a new Vampire number was found, and in the end the total number of Vampire numbers found will be displayed: “Second worker found … Vampire numbers” (the ellipsis stand for the actual number) HINTS: - The Vampire numbers are described in detail here: https://en.wikipedia.org/wiki/Vampire_number - In the end, the worker threads must communicate their counters to the main thread, in order to compute and display the TOTAL number of Vampire numbers in the interval - Work on your computer or online using https://replit.com DELIVERABLES: - The source code for the Java program, stored in the text file “hw3.java” - A screenshot showing the final results of your program’s execution, stored in a graphic file like “hw3.png” or ”hw3.gif” or “hw3.pdf”, etc. https://en.wikipedia.org/wiki/Vampire_number https://replit.com/
Answered Same DayJan 30, 2023

Answer To: Homework 3 – Threads in Java Write a Java program that creates several threads, according to the...

Vikas answered on Jan 31 2023
32 Votes
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here