/* package whatever; // don't place package name! */
import java.util.*;
import java.util.concurrent.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
// Do-nothing Callable
static class FactorialCalculator implements Callable {
public FactorialCalculator
(String name
) { this.name = name;
}
return null;
}
}
{
final ExecutorService threadpool = Executors.newFixedThreadPool(20);
FactorialCalculator task1 = new FactorialCalculator("A");
FactorialCalculator task2 = new FactorialCalculator("B");
FactorialCalculator task3= new FactorialCalculator("C");
FactorialCalculator task4 = new FactorialCalculator("D");
FactorialCalculator task5= new FactorialCalculator("E");
System.
out.
println("Submitting Task ..."); Future future1 = threadpool.submit(task1);
Future future2 = threadpool.submit(task2);
Future future3 = threadpool.submit(task3);
Future future4 = threadpool.submit(task4);
Future future5 = threadpool.submit(task5);
System.
out.
println("Task is submitted"); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS51dGlsLmNvbmN1cnJlbnQuKjsKaW1wb3J0IGphdmEubGFuZy4qOwppbXBvcnQgamF2YS5pby4qOwoKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CgkvLyBEby1ub3RoaW5nIENhbGxhYmxlCglzdGF0aWMgY2xhc3MgRmFjdG9yaWFsQ2FsY3VsYXRvciBpbXBsZW1lbnRzIENhbGxhYmxlIHsKCQlwcml2YXRlIGZpbmFsIFN0cmluZyBuYW1lOwoJCXB1YmxpYyBGYWN0b3JpYWxDYWxjdWxhdG9yKFN0cmluZyBuYW1lKSB7CgkJCXRoaXMubmFtZSA9IG5hbWU7CgkJfQoJCQoJCXB1YmxpYyBPYmplY3QgY2FsbCgpIHsKCQkJcmV0dXJuIG51bGw7CgkJfQoJfQoJCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlmaW5hbCBFeGVjdXRvclNlcnZpY2UgdGhyZWFkcG9vbCA9IEV4ZWN1dG9ycy5uZXdGaXhlZFRocmVhZFBvb2woMjApOwogICAgCUZhY3RvcmlhbENhbGN1bGF0b3IgdGFzazEgPSBuZXcgRmFjdG9yaWFsQ2FsY3VsYXRvcigiQSIpOyAKICAgIAlGYWN0b3JpYWxDYWxjdWxhdG9yIHRhc2syID0gbmV3IEZhY3RvcmlhbENhbGN1bGF0b3IoIkIiKTsgCiAgICAJRmFjdG9yaWFsQ2FsY3VsYXRvciB0YXNrMz0gbmV3IEZhY3RvcmlhbENhbGN1bGF0b3IoIkMiKTsgCiAgICAJRmFjdG9yaWFsQ2FsY3VsYXRvciB0YXNrNCA9IG5ldyBGYWN0b3JpYWxDYWxjdWxhdG9yKCJEIik7IAogICAgCUZhY3RvcmlhbENhbGN1bGF0b3IgdGFzazU9IG5ldyBGYWN0b3JpYWxDYWxjdWxhdG9yKCJFIik7IAogICAgCVN5c3RlbS5vdXQucHJpbnRsbigiU3VibWl0dGluZyBUYXNrIC4uLiIpOyAKICAgIAlGdXR1cmUgZnV0dXJlMSA9IHRocmVhZHBvb2wuc3VibWl0KHRhc2sxKTsgCiAgICAJRnV0dXJlIGZ1dHVyZTIgPSB0aHJlYWRwb29sLnN1Ym1pdCh0YXNrMik7IAogICAgCUZ1dHVyZSBmdXR1cmUzID0gdGhyZWFkcG9vbC5zdWJtaXQodGFzazMpOyAKICAgIAlGdXR1cmUgZnV0dXJlNCA9IHRocmVhZHBvb2wuc3VibWl0KHRhc2s0KTsgCiAgICAJRnV0dXJlIGZ1dHVyZTUgPSB0aHJlYWRwb29sLnN1Ym1pdCh0YXNrNSk7ICAKICAgIAlTeXN0ZW0ub3V0LnByaW50bG4oIlRhc2sgaXMgc3VibWl0dGVkIik7IAoJfQp9