import java.util.*;
import java.lang.*;
import java.io.*;
class Ideone
{
public static void main
(String[] args
) {
final ActionInterrupt interromper = new ActionInterrupt();
final ActionFlag flag = new ActionFlag();
flag.start();
interromper.start();
try {
int p = 0;
while(!interromper.isInterrupted()){
if(p == 5){
interromper.interrupt();
flag.setStop();
}
p++;
System.
out.
println("MainThread "+p
); if(p==199){
break;
}
}
e.printStackTrace();
}
}
static class ActionInterrupt
extends Thread{ @Override
public void run() {
int pt = 0;
// try {
while(pt != 55){
try {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.
out.
println("ActionInterrupt {"+pt
+"}"); pt++;
}
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
}
}
static class ActionFlag
extends Thread{ private boolean running = true;
public void setStop() {
running = false;
}
@Override
public void run() {
int pt = 0;
while(running){
try {
e.printStackTrace();
}
System.
out.
println("ActionFlag["+pt
+"]"); pt++;
}
}
}
}
CmltcG9ydCBqYXZhLnV0aWwuKjsKaW1wb3J0IGphdmEubGFuZy4qOwppbXBvcnQgamF2YS5pby4qOwogCmNsYXNzIElkZW9uZQp7CiAKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKIAoJCWZpbmFsIEFjdGlvbkludGVycnVwdCBpbnRlcnJvbXBlciA9IG5ldyBBY3Rpb25JbnRlcnJ1cHQoKTsKCQlmaW5hbCBBY3Rpb25GbGFnIGZsYWcgPSBuZXcgQWN0aW9uRmxhZygpOwoJCWZsYWcuc3RhcnQoKTsKCQlpbnRlcnJvbXBlci5zdGFydCgpOwogCgkJCXRyeSB7CgkJCQoJCQkJaW50IHAgPSAwOwoJCQkJd2hpbGUoIWludGVycm9tcGVyLmlzSW50ZXJydXB0ZWQoKSl7CgkJCQkJVGhyZWFkLnNsZWVwKDMzTCk7CgkJCQkJaWYocCA9PSA1KXsKCQkJCQkJaW50ZXJyb21wZXIuaW50ZXJydXB0KCk7CgkJCQkJCWZsYWcuc2V0U3RvcCgpOwoJCQkJCX0KCQkJCQlwKys7CgkJCQkJU3lzdGVtLm91dC5wcmludGxuKCJNYWluVGhyZWFkICIrcCk7CgkJCQkJaWYocD09MTk5KXsKCQkJCQkJYnJlYWs7CgkJCQkJfQoJCQkJfQoJCQl9IGNhdGNoIChJbnRlcnJ1cHRlZEV4Y2VwdGlvbiBlKSB7CgkJCQllLnByaW50U3RhY2tUcmFjZSgpOwoJCQl9Cgl9CiAKIAogCglzdGF0aWMgY2xhc3MgQWN0aW9uSW50ZXJydXB0IGV4dGVuZHMgVGhyZWFkewoJCUBPdmVycmlkZQoJCXB1YmxpYyB2b2lkIHJ1bigpIHsKCQkJaW50IHB0ID0gMDsKLy8JCQl0cnkgewoJCQkJd2hpbGUocHQgIT0gNTUpewoJCQkJCXRyeSB7CgkJCQkJCVRocmVhZC5zbGVlcCgxMEwpOwoJCQkJCX0gY2F0Y2ggKEludGVycnVwdGVkRXhjZXB0aW9uIGUpIHsKCQkJCQkJLy8gVE9ETyBBdXRvLWdlbmVyYXRlZCBjYXRjaCBibG9jawoJCQkJCQllLnByaW50U3RhY2tUcmFjZSgpOwoJCQkJCX0KCQkJCQlTeXN0ZW0ub3V0LnByaW50bG4oIkFjdGlvbkludGVycnVwdCB7IitwdCsifSIpOwoJCQkJCXB0Kys7CgkJCQl9Ci8vCQkJfSBjYXRjaCAoSW50ZXJydXB0ZWRFeGNlcHRpb24gZSkgewovLwkJCQllLnByaW50U3RhY2tUcmFjZSgpOwovLwkJCX0KCQl9Cgl9CglzdGF0aWMgY2xhc3MgQWN0aW9uRmxhZyBleHRlbmRzIFRocmVhZHsKCQlwcml2YXRlIGJvb2xlYW4gcnVubmluZyA9IHRydWU7CiAKCQlwdWJsaWMgdm9pZCBzZXRTdG9wKCkgewoJCSAgICBydW5uaW5nID0gZmFsc2U7CgkJfQogCgkJQE92ZXJyaWRlCgkJcHVibGljIHZvaWQgcnVuKCkgewoJCQlpbnQgcHQgPSAwOwoJCQl3aGlsZShydW5uaW5nKXsKCQkJCXRyeSB7CgkJCQkJVGhyZWFkLnNsZWVwKDEwTCk7CgkJCQl9IGNhdGNoIChJbnRlcnJ1cHRlZEV4Y2VwdGlvbiBlKSB7CgkJCQkJZS5wcmludFN0YWNrVHJhY2UoKTsKCQkJCX0KCQkJCVN5c3RlbS5vdXQucHJpbnRsbigiQWN0aW9uRmxhZ1siK3B0KyJdIik7CgkJCQlwdCsrOwoJCQl9CgkJfQoJfQogCn0=