import java.util.concurrent.*;
import java.util.*;
class Person implements Runnable {
protected String name;
protected CyclicBarrier meet;
Person(CyclicBarrier meet, String name) {
this.name = name;
this.meet = meet;
}
public void run() {
try {
System.out.println("once upon a time, there was a " + name);
this.meet.await();
System.out.println("once they met, the " + name + " happily lived ever after");
} catch (InterruptedException | BrokenBarrierException e) {
System.out.println("the " + name + " died without ever finding love");
}
}
}
class Main {
public static void main(String[] args) throws InterruptedException {
CyclicBarrier meet = new CyclicBarrier(2);
Thread kingThread = new Thread(new Person(meet, "king"));
Thread queenThread = new Thread(new Person(meet, "queen"));
kingThread.start();
queenThread.start();
kingThread.join();
queenThread.join();
}
}
To embed this program on your website, copy the following code and paste it into your website's HTML: