/* package whatever; // don't place package name! */
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
Ideone ideone = new Ideone();
ExecutorService executor
= Executors.
newFixedThreadPool(Runtime .getRuntime().availableProcessors());
List<Callable<Boolean>> callables = new ArrayList<>();
for (int counter = 0; counter < 8; counter++) {
callables.add(ideone.new MyCallable());
}
List<Future<Boolean>> futures = executor.invokeAll(callables);
for (Future<Boolean> future : futures) {
System.
out.
println(future.
get()); }
executor.shutdown();
}
private class MyCallable implements Callable<Boolean> {
@Override
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC5BcnJheUxpc3Q7CmltcG9ydCBqYXZhLnV0aWwuTGlzdDsKaW1wb3J0IGphdmEudXRpbC5jb25jdXJyZW50LkNhbGxhYmxlOwppbXBvcnQgamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0aW9uRXhjZXB0aW9uOwppbXBvcnQgamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JTZXJ2aWNlOwppbXBvcnQgamF2YS51dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzOwppbXBvcnQgamF2YS51dGlsLmNvbmN1cnJlbnQuRnV0dXJlOwoKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlJZGVvbmUgaWRlb25lID0gbmV3IElkZW9uZSgpOwoKCQlFeGVjdXRvclNlcnZpY2UgZXhlY3V0b3IgPSBFeGVjdXRvcnMubmV3Rml4ZWRUaHJlYWRQb29sKFJ1bnRpbWUKCQkJCS5nZXRSdW50aW1lKCkuYXZhaWxhYmxlUHJvY2Vzc29ycygpKTsKCQlMaXN0PENhbGxhYmxlPEJvb2xlYW4+PiBjYWxsYWJsZXMgPSBuZXcgQXJyYXlMaXN0PD4oKTsKCQlmb3IgKGludCBjb3VudGVyID0gMDsgY291bnRlciA8IDg7IGNvdW50ZXIrKykgewoJCQljYWxsYWJsZXMuYWRkKGlkZW9uZS5uZXcgTXlDYWxsYWJsZSgpKTsKCQl9CgoJCUxpc3Q8RnV0dXJlPEJvb2xlYW4+PiBmdXR1cmVzID0gZXhlY3V0b3IuaW52b2tlQWxsKGNhbGxhYmxlcyk7CgkJZm9yIChGdXR1cmU8Qm9vbGVhbj4gZnV0dXJlIDogZnV0dXJlcykgewoJCQlTeXN0ZW0ub3V0LnByaW50bG4oZnV0dXJlLmdldCgpKTsKCQl9CgoJCWV4ZWN1dG9yLnNodXRkb3duKCk7CgoJfQoJCglwcml2YXRlIGNsYXNzIE15Q2FsbGFibGUgaW1wbGVtZW50cyBDYWxsYWJsZTxCb29sZWFuPiB7CgoJCUBPdmVycmlkZQoJCXB1YmxpYyBCb29sZWFuIGNhbGwoKSB7CgkJCXJldHVybiBCb29sZWFuLlRSVUU7CgkJfQoJfQoKfQ==