Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Here is a runnable task, called TaskThread. This task performs some work and the

ID: 3767869 • Letter: H

Question

Here is a runnable task, called TaskThread. This task performs some work and then periodically reports what percent of the work it has completed:

import java.util.*;
public class TaskThread implements Runnable {
private int taskNumber;

TaskThread(int number) {
taskNumber = number;
}
public void run() {
for (int i=0;i<=100;i+=20) {
// Perform some task ...
System.out.println("Task number: " + taskNumber
+ ", percent complete: " + i );
try {
Thread.sleep((int)(Math.random() * 1000));
}
catch (InterruptedException e)
{
}
}//end for
}//end main
}//end class

You're allow to have two threads. Write a main method to produce the following ouput:

Task number: 1, percent complete: 0
Task number: 0, percent complete: 0
Task number: 1, percent complete: 20
Task number: 0, percent complete: 20
Task number: 1, percent complete: 40
Task number: 1, percent complete: 60
Task number: 0, percent complete: 40
Task number: 0, percent complete: 60
Task number: 1, percent complete: 80
Task number: 1, percent complete: 100
Task number: 0, percent complete: 80
Task number: 2, percent complete: 0
Task number: 2, percent complete: 20
Task number: 0, percent complete: 100
Task number: 2, percent complete: 40
Task number: 3, percent complete: 0
Task number: 3, percent complete: 20
Task number: 3, percent complete: 40
Task number: 2, percent complete: 60
Task number: 3, percent complete: 60
Task number: 3, percent complete: 80
Task number: 2, percent complete: 80
Task number: 2, percent complete: 100
Task number: 3, percent complete: 100

Explanation / Answer

//import java.util.*;
public class TaskThread implements Runnable {
   private int taskNumber;
  
   TaskThread(int number) {
       taskNumber = number;
   }
  
   public void run() {
       for (int i=0;i<=100;i+=20) {
           // Perform some task ...
           System.out.println("Task number: " + taskNumber
           + ", percent complete: " + i );
           try {
               Thread.sleep((int)(Math.random() * 1000));
           }
           catch (InterruptedException e)
           {
           }
       }//end for
   }//end run
  
   public static void main(String[] args) {
       // declaring 2 threads
       Thread t1, t2;
      
       // creating 4 tasks
       TaskThread task1 = new TaskThread(0);
       TaskThread task2 = new TaskThread(1);
       TaskThread task3 = new TaskThread(2);
       TaskThread task4 = new TaskThread(3);

       // creating threads for first 2 tasks and starting them
       t1 = new Thread(task1);
       t2 = new Thread(task2);
       t1.start();
       t2.start();
       // creating threads for other 2 threads and starting them
       t1 = new Thread(task3);
       t2 = new Thread(task4);
       t1.start();
       t2.start();
   }
}//end class

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote