tarafından çağrılan callable işlemi nasıl sonlandırılır Aşağıdaki kodda ExecutorService tarafından sunulan Callable işlemini sonlandırmak istiyorum. Halihazırda, kapsayıcı işlemin yürütülmesi, döngü yürütme işleminden önce çağrılan kapatma işlemine rağmen sonlandırılmamaktadır.ExecutorService
Herhangi bir öneride yardımcı olabilir. Biz showDownNow()
çağırdığınızda
package foundation.util.sql.parser;
import java.io.IOException;
import java.util.HashMap;
import java.util.concurrent.*;
public class Test {
public static void main(String[] args) {
try {
final java.util.Map<String, ExecutorService> map = new HashMap<>();
ExecutorService service = Executors.newFixedThreadPool(1);
map.put("1", service);
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
System.out.println("Termination Initiated");
ExecutorService executorService = map.get("1");
System.out.println("ShutDown called");
if(!executorService.isShutdown())
{
executorService.shutdownNow();
}
} catch (Exception e) {
e.printStackTrace();
}
}
});
Future<Boolean> submit = service.submit(new Callable<Boolean>() {
@Override
public Boolean call() throws Exception {
int j = 0;
System.out.println(Thread.currentThread().getName());
for (int i=0; i<5000;i++) {
//Some business Process.
j = i;
}
System.out.println("Test____"+ j);
return null;
}
});
thread.start();
submit.get();
} catch (Exception e) {
e.printStackTrace();
}
}
}
teşekkür ederiz. – user3876801