Junior — Middle
Жобаларыңызда concurrency пакетінен кайсы компоненттерди колдондуңуз?
sobes.tech AI
AIден жооп
Java долбоорлорунда, мен java.util.concurrent пакетинен төмөнкү компоненттерди колдонуп келгем:
- ExecutorService — жиптердин топтомун башкаруу жана тапшырмаларды асинхрондуу аткаруу үчүн.
- Future жана Callable — тапшырманын аткарылыш жыйынтыгын бөлөк жипте алуу үчүн.
- CountDownLatch жана CyclicBarrier — жиптерди синхрондоштуруу, мисалы, бир нече тапшырманын аяктоосун күтүү үчүн.
- ConcurrentHashMap — параллелдүү кирүүгө ылайыктуу жиптерге коопсуз карта ишке ашыруу.
- Semaphore — бир убакта аткарылып жаткан операциялардын санын чектөө үчүн.
Callable менен ExecutorService колдонуу мисалы:
ExecutorService executor = Executors.newFixedThreadPool(2);
Callable<Integer> task = () -> {
// бир эсептөө тапшырмасы
return 123;
};
Future<Integer> future = executor.submit(task);
try {
Integer result = future.get();
System.out.println("Жыйынтык: " + result);
} catch (InterruptedException | ExecutionException e) {
e.printStackTrace();
}
executor.shutdown();