Junior — Middle
Оё шумо интерфейси Callable-ро барои иҷрои вазифаҳо дар Java истифода бурдаед?
sobes.tech AI
Ҷавоб аз AI
Бале, интерфейси Callable дар Java барои иҷрои вазифаҳо истифода мешавад, ки натиҷа баргардонанд ва метавонанд истисноҳо бароянд. Баръакси Runnable, Callable имкон медиҳад, ки натиҷаи иҷроиш тавассути Future гирифта шавад.
Маслиҳати истифодаи Callable:
import java.util.concurrent.*;
public class CallableExample {
public static void main(String[] args) throws Exception {
ExecutorService executor = Executors.newSingleThreadExecutor();
Callable<Integer> task = () -> {
// Як вазифаи ҳисоббарорӣ
Thread.sleep(1000);
return 123;
};
Future<Integer> future = executor.submit(task);
System.out.println("Вазифа оғоз шуд");
Integer result = future.get(); // интизорем натиҷаро
System.out.println("Натиҷа: " + result);
executor.shutdown();
}
}
Ин усул барои иҷрои асинхронии вазифаҳо бо имконияти гирифтани натиҷаҳо ва идора кардани истисноҳо мувофиқ аст.