Middle
Vai ar submit var palaist tikai Runnable vai arī Callable?
sobes.tech AI
Atbilde no AI
Java ExecutorService metodes submit var pieņemt gan Runnable, gan Callable.
- Ja tiek nodots
Runnable, metode atgriežFuture<?>, ko var izmantot, lai uzraudzītu uzdevuma pabeigšanu, bet rezultāts būsnull. - Ja tiek nodots
Callable<V>, tadsubmitatgriežFuture<V>, kurVir uzdevuma atgrieztā rezultāta tips.
Piemērs:
ExecutorService executor = Executors.newFixedThreadPool(2);
// Runnable
Future<?> future1 = executor.submit(() -> System.out.println("Runnable uzdevums"));
// Callable
Future<Integer> future2 = executor.submit(() -> {
Thread.sleep(1000);
return 42;
});
Integer result = future2.get(); // rezultāts būs 42
executor.shutdown();