Sobes.tech
Junior — Middle

Meg tudod nevezni a java.util.concurrent csomagban található fő primitívumokat és eszközöket a több szálon történő végrehajtás szervezéséhez?

sobes.tech MI

Válasz az MI-től

A java.util.concurrent csomagban több kulcsfontosságú primitív és eszköz található a több szálas végrehajtás szervezéséhez:

  • Executor és ExecutorService — felületek a szálak pooljának kezelésére és feladatok aszinkron végrehajtására.
  • Future és CompletableFuture — az aszinkron számítások eredményének megszerzéséhez.
  • CountDownLatch — lehetővé teszi egy vagy több szálnak, hogy várjanak, amíg más szálak bizonyos műveleteket be nem fejeznek.
  • CyclicBarrier — több szál szinkronizálása, egymás várakoztatása.
  • Semaphore — korlátozza, hogy hány szál férhet hozzá egy erőforráshoz egyidejűleg.
  • ReentrantLock — fejlettebb zárolási mechanizmus próbálkozási és időkorlátos lehetőségekkel.
  • Párhuzamos gyűjtemények (pl. ConcurrentHashMap, CopyOnWriteArrayList) — szálbiztos gyűjtemények.
  • Atomi változók (AtomicInteger, AtomicLong stb.) — atomikus műveletek változókon zárolás nélkül.

ExecutorService példája:

ExecutorService executor = Executors.newFixedThreadPool(2);
executor.submit(() -> {
    System.out.println("Feladat végrehajtva egy külön szálon");
});
executor.shutdown();