Sobes.tech
Junior — Middle

java.util.concurrent paketində çox iş parçacığı icrasını təşkil etmək üçün əsas primitivlər və alətləri adlandıra bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

java.util.concurrent paketində çox ipli icra təşkil etmək üçün bir neçə əsas primitiv və alət mövcuddur:

  • Executor və ExecutorService — iş parçacığı hovuzunu idarə etmək və tapşırıqları asinxron icra etmək üçün interfeyslər.
  • Future və CompletableFuture — asinxron hesablamaların nəticəsini almaq üçün.
  • CountDownLatch — bir və ya bir neçə iş parçacığının digər iş parçacıqları müəyyən hərəkətləri tamamlayana qədər gözləməsinə imkan verir.
  • CyclicBarrier — bir neçə iş parçacığını sinxronlaşdırır, onları bir-birini gözləməyə məcbur edir.
  • Semaphore — eyni zamanda resursa giriş edə biləcək iş parçacığı sayını məhdudlaşdırır.
  • ReentrantLock — qabaqcıl kilidləmə mexanizmi, cəhd və zaman aşımı imkanları ilə.
  • Konkurrent kolleksiyalar (məsələn, ConcurrentHashMap, CopyOnWriteArrayList) — iş parçacığı təhlükəsiz kolleksiyalar.
  • Atomik dəyişənlər (AtomicInteger, AtomicLong və s.) — kilid istifadə etmədən dəyişənlər üzərində atomik əməliyyatlar üçün.

ExecutorService istifadə nümunəsi:

ExecutorService executor = Executors.newFixedThreadPool(2);
executor.submit(() -> {
    System.out.println("Ayrı bir iş parçacığında tapşırıq yerinə yetirildi");
});
executor.shutdown();