/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.Random;
/**
* Example 92 - Mutual Exclusion
*/
public static void pause(int low, int high) {
int R = r.nextInt(high-low) +low;
try {
e.printStackTrace();
}
}
public static int random(int low, int high) {
int R = r.nextInt(high-low) + low;
return R;
}
}
class Printer
extends Thread { public void run() {
for(;;) {
synchronized (mutex) {
}
}
}
}
class MutualExclusion {
public static void main
(String[] args
) { new Printer().start();
new Printer().start();
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgppbXBvcnQgamF2YS51dGlsLlJhbmRvbTsKCi8qKgogKiBFeGFtcGxlIDkyIC0gTXV0dWFsIEV4Y2x1c2lvbgogKi8KCmNsYXNzIFV0aWwgewogICAgcHVibGljIHN0YXRpYyB2b2lkIHBhdXNlKGludCBsb3csIGludCBoaWdoKSB7CiAgICAgICAgUmFuZG9tIHIgPSBuZXcgUmFuZG9tKCk7CiAgICAgICAgaW50IFIgPSByLm5leHRJbnQoaGlnaC1sb3cpICtsb3c7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgVGhyZWFkLnNsZWVwKFIpOwogICAgICAgIH0gY2F0Y2ggKEludGVycnVwdGVkRXhjZXB0aW9uIGUpIHsKICAgICAgICAgICAgZS5wcmludFN0YWNrVHJhY2UoKTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBpbnQgcmFuZG9tKGludCBsb3csIGludCBoaWdoKSB7CiAgICAgICAgUmFuZG9tIHIgPSBuZXcgUmFuZG9tKCk7CiAgICAgICAgaW50IFIgPSByLm5leHRJbnQoaGlnaC1sb3cpICsgbG93OwogICAgICAgIHJldHVybiBSOwogICAgfQoKfQpjbGFzcyBQcmludGVyIGV4dGVuZHMgVGhyZWFkIHsKICAgIHN0YXRpYyBPYmplY3QgbXV0ZXggPSBuZXcgT2JqZWN0KCk7CiAgICBwdWJsaWMgdm9pZCBydW4oKSB7CiAgICAgICAgZm9yKDs7KSB7CiAgICAgICAgICAgIHN5bmNocm9uaXplZCAobXV0ZXgpIHsKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnQoIi0iKTsKICAgICAgICAgICAgICAgIFV0aWwucGF1c2UoMTAwLCAzMDApOwogICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludCgiLyIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIFV0aWwucGF1c2UoMCwgMjAwKTsKICAgICAgICB9CiAgICB9Cn0KY2xhc3MgTXV0dWFsRXhjbHVzaW9uIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBuZXcgUHJpbnRlcigpLnN0YXJ0KCk7CiAgICAgICAgbmV3IFByaW50ZXIoKS5zdGFydCgpOwogICAgfQp9Cg==