Sobes.tech
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();