Question: Suppose we have a class: public class Foo { public void first ( ) { print ( first ) ; } public void
Suppose we have a class:
public class Foo
public void first printfirst;
public void second printsecond;
public void third printthird;
The same instance of Foo will be passed to three different threads. Thread A will call first thread B will
call second and thread C will call third Design a mechanism and modify the program to ensure that
second is executed after first and third is executed after second
Note:
We do not know how the threads will be scheduled in the operating system, even though the numbers
in the input seem to imply the ordering. The input format you see is mainly to ensure our tests'
comprehensiveness.
Example :
Input: nums
Output: "firstsecondthird"
Explanation: There are three threads being fired asynchronously. The input means thread A calls
first thread B calls second and thread C calls third "firstsecondthird" is the correct output.
Example :
Input: nums
Output: "firstsecondthird"Explanation: The input means thread A calls first thread B calls
third and thread C calls second "firstsecondthird" is the correct output.
Use the following starter code:
Java
class Foo
public Foo
public void firstRunnable printFirst throws InterruptedException
printFirst.run outputs "first". Do not change or remove this line.
printFirst.run;
public void secondRunnable printSecond throws InterruptedException
printSecond.run outputs "second". Do not change or remove this line.
printSecond.run;
public void thirdRunnable printThird throws InterruptedException
printThird.run outputs "third". Do not change or remove this line.
printThird.run;
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
