import java.util.concurrent.*;
class Main {
ExecutorService executor = Executors.newSingleThreadExecutor();
Future<String> future = executor.submit(new Task());
try {
System.
out.
println("Çalışıyor.."); System.
out.
println(future.
get(3, TimeUnit.
SECONDS)); } catch (TimeoutException e) {
System.
out.
println("Zaman Aşımı!"); } finally {
executor.shutdownNow();
}
}
}
class Task implements Callable<String> {
@Override
Thread.
sleep(2000); // Uzun süren metodunuzu burada çağırın return "Sonuç Ürettim!";
}
}
aW1wb3J0IGphdmEudXRpbC5jb25jdXJyZW50Lio7CgpjbGFzcyBNYWluIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBFeGNlcHRpb24gewogICAgICAgIEV4ZWN1dG9yU2VydmljZSBleGVjdXRvciA9IEV4ZWN1dG9ycy5uZXdTaW5nbGVUaHJlYWRFeGVjdXRvcigpOwogICAgICAgIEZ1dHVyZTxTdHJpbmc+IGZ1dHVyZSA9IGV4ZWN1dG9yLnN1Ym1pdChuZXcgVGFzaygpKTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCLDh2FsxLHFn8SxeW9yLi4iKTsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKGZ1dHVyZS5nZXQoMywgVGltZVVuaXQuU0VDT05EUykpOwogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkJpdHRpISIpOwogICAgICAgIH0gY2F0Y2ggKFRpbWVvdXRFeGNlcHRpb24gZSkgewogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlphbWFuIEHFn8SxbcSxISIpOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGV4ZWN1dG9yLnNodXRkb3duTm93KCk7CiAgICAgICAgfQogICAgfQp9CgpjbGFzcyBUYXNrIGltcGxlbWVudHMgQ2FsbGFibGU8U3RyaW5nPiB7CiAgICBAT3ZlcnJpZGUKICAgIHB1YmxpYyBTdHJpbmcgY2FsbCgpIHRocm93cyBFeGNlcHRpb24gewogICAgICAgIFRocmVhZC5zbGVlcCgyMDAwKTsgLy8gVXp1biBzw7xyZW4gbWV0b2R1bnV6dSBidXJhZGEgw6dhxJ/EsXLEsW4KICAgICAgICByZXR1cm4gIlNvbnXDpyDDnHJldHRpbSEiOwogICAgfQp9