Please copy and paste and use this code below. Please post out the complete code with comments and a screenshot of the output. public class MyThread implements Runnable { private static int num = 0; private String name; private Thread myThread; MyThread(String threadName) { name = threadName; myThread = new Thread(this, name); System.out.println("New thread: " + myThread); myThread.start(); } @Override public void run() { for(int i = 1; i <= 20; i++) { //critical section start num++; System.out.println(name + ": " + i + ", num = " + num); //critical section end try { Thread.sleep(1000); } catch (InterruptedException e) { System.out.println(name + " thread Interrupted"); } } System.out.println(name + " exiting."); } public static void main(String[] args) { new MyThread("Zero"); new MyThread("One"); try { Thread.sleep(25000); } catch (InterruptedException e) { System.out.println("Main thread Interrupted"); } System.out.println("Main thread exiting."); System.out.println("Final num = " + num); } }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Please copy and paste and use this code below. Please post out the complete code with comments and a screenshot of the output.

public class MyThread implements Runnable
{
private static int num = 0;
private String name;
private Thread myThread;
MyThread(String threadName)
{
name = threadName;
myThread = new Thread(this, name);
System.out.println("New thread: " + myThread);
myThread.start();
}
@Override
public void run()
{
for(int i = 1; i <= 20; i++)
{
//critical section start
num++;
System.out.println(name + ": " + i + ", num = " + num);
//critical section end
try
{
Thread.sleep(1000);
}
catch (InterruptedException e)
{
System.out.println(name + " thread Interrupted");
}
}

System.out.println(name + " exiting.");
}
public static void main(String[] args)
{
new MyThread("Zero");
new MyThread("One");

try
{
Thread.sleep(25000);
}
catch (InterruptedException e)
{
System.out.println("Main thread Interrupted");
}
System.out.println("Main thread exiting.");
System.out.println("Final num = " + num);
}

}

Expert Solution
steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Avoiding deadlock
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education