Skip to content

Latest commit

 

History

History
23 lines (16 loc) · 808 Bytes

File metadata and controls

23 lines (16 loc) · 808 Bytes

Problem 1114: Print in Order

Difficulty: Easy

Problem

Suppose we have a class:

public class Foo { public void first() { print("first"); } public void second() { print("second"); } public void third() { print("third"); } }

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().

Example

Input: [1,2,3]
Output: "firstsecondthird"
Explanation: There are three threads being fired asynchronously. The input [1,2,3] means thread A calls first(), thread B calls second(), and thread C calls third(). "firstsecondthird" is the correct output.