Sobes.tech
Junior — Middle

java.util.concurrent пакетиңизде көп иштөө аткарууну уюштуруу үчүн берилген негизги primitives жана инструменттерди ата аласызбы?

sobes.tech AI

AIден жооп

java.util.concurrent пакетиңизде көп иштөөчүн уюштурууга негизделген бир нече негизги primitive жана инструменттер бар:

  • Executor жана ExecutorService — интерфейстер иштөөчүн пулду башкаруу жана тапшырмаларды асинхрондуу аткаруу үчүн.
  • Future жана CompletableFuture — асинхрон эсептөөлөрдүн натыйжасын алуу үчүн.
  • CountDownLatch — бир же бир нече иштөөчүн башка иштөөчүлөр белгилүү бир аракеттерди аткарганча күтүүгө мүмкүндүк берет.
  • CyclicBarrier — бир нече иштөөчүн синхрондоштуруу, алардын бири-бирин күтүүсүнө мажбур кылуу.
  • Semaphore — бир убакта ресурска кире алчу иштөөчүн санын чектөө.
  • ReentrantLock — алдынкы блоктоо механизми, аракет кылуу жана убакыт чектөө мүмкүнчүлүктөрү менен.
  • Көп иштөөчү коллекциялар (мисалы, ConcurrentHashMap, CopyOnWriteArrayList) — иштөөчүн коопсуз коллекциялар.
  • Атомик өзгөрмөлөр (AtomicInteger, AtomicLong жана башка) — блоктоо колдонбостон өзгөрмөлөр үстүндө атомик операциялар.

ExecutorService колдонуу мисалы:

ExecutorService executor = Executors.newFixedThreadPool(2);
executor.submit(() -> {
    System.out.println("Өзүнчө иштөөчүндө тапшырма аткарылды");
});
executor.shutdown();