class SynchTest {
public static void main
(String[] args
) { // Note that we create a new Task each time.
new Thread(new Task
()).
start(); new Thread(new Task
()).
start(); new Thread(new Task
()).
start(); }
long start;
Task() {
this.
start = System.
currentTimeMillis(); }
@Override
public synchronized void run() {
try {
}
}
}
}
Y2xhc3MgU3luY2hUZXN0IHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICAvLyBOb3RlIHRoYXQgd2UgY3JlYXRlIGEgbmV3IFRhc2sgZWFjaCB0aW1lLgogICAgICAgIG5ldyBUaHJlYWQobmV3IFRhc2soKSkuc3RhcnQoKTsKICAgICAgICBuZXcgVGhyZWFkKG5ldyBUYXNrKCkpLnN0YXJ0KCk7CiAgICAgICAgbmV3IFRocmVhZChuZXcgVGFzaygpKS5zdGFydCgpOwogICAgfQogICAgCiAgICBzdGF0aWMgY2xhc3MgVGFzayBpbXBsZW1lbnRzIFJ1bm5hYmxlIHsKICAgICAgICBsb25nIHN0YXJ0OwogICAgICAgIAogICAgICAgIFRhc2soKSB7CiAgICAgICAgICAgIHRoaXMuc3RhcnQgPSBTeXN0ZW0uY3VycmVudFRpbWVNaWxsaXMoKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgQE92ZXJyaWRlCiAgICAgICAgcHVibGljIHN5bmNocm9uaXplZCB2b2lkIHJ1bigpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIFRocmVhZC5zbGVlcCgxMDAwKTsKICAgICAgICAgICAgfSBjYXRjaCAoSW50ZXJydXB0ZWRFeGNlcHRpb24gaWdub3JlZCkgewogICAgICAgICAgICB9CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihTeXN0ZW0uY3VycmVudFRpbWVNaWxsaXMoKSAtIHN0YXJ0KTsKICAgICAgICB9CiAgICB9Cn0=