Я пытаюсь запустить несколько служб параллельно с помощью ExecutorService. Но я не смог выполнить параллель.Служба Java-исполнителя не обрабатывается Parallely
Я написал java.util.concurrent.TimeUnit.MINUTES.sleep (1) подождать одну минуту в классе Service1.
Но Service2 обрабатывается только после обработки Service1.
Ниже мой фрагмент кода, Пожалуйста, поправьте меня/код, если мой понять о ExecutorService неправильно
public void startService() {
try {
ExecutorService service = Executors.newFixedThreadPool(3);
service.submit(new Service1());
service.submit(new Service2());
service.submit(new Service3());
service.shutdown();
service.awaitTermination(1, TimeUnit.MINUTES);
System.exit(0);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public class Service1 implements Callable<Object> {
{
try {
java.util.concurrent.TimeUnit.MINUTES.sleep(1);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public Object call() throws Exception {
return null;
}
}
public class Service2 implements Callable<Object> {
@Override
public Object call() throws Exception {
System.out.println(" Service 2 "); // It prints after 1 minute only.
return null;
}
}
public class Service3 implements Callable<Object> {
@Override
public Object call() throws Exception {
System.out.println(" Service 3 ");
return null;
}
}
это работает для меня –
точнее, Service1 начинается до Service2, но заканчивается после –
Извините, когда я ставлю глобальный sop {}. Не работает – DEADEND