Sobes.tech
Junior — Middle

ExecutorService dan foydalanish va Thread sinfi orqali yangi oqimlar yaratish o'rtasidagi farq nima?

sobes.tech AI

AIdan javob

Java'da ExecutorService istifadəsi, Thread sinfi vasitəsilə birbaşa threadlərin yaradılmasından aşağıdakı şəkildə fərqlənir:

  • Thread hovuzunun idarə olunması: ExecutorService çoxsaylı tapşırıqları yerinə yetirmək üçün thread hovuzunun yaradılmasına və yenidən istifadəsinə imkan verir, bu da threadlərin yaradılması və məhvi ilə əlaqəli xərcləri azaldır.
  • Həyat dövrünün idarə olunması: ExecutorService düzgün şəkildə sonlandırmaq, tapşırıqların tamamlanmasını gözləmək və tapşırıq növbəsini idarə etmək üçün metodlar təqdim edir.
  • Kodun sadələşdirilməsi: Əl ilə threadlərin yaradılması və işə salınması yerinə, sadəcə tapşırıqları ExecutorService-ə göndərmək olar, o isə onları threadlər arasında paylayacaq.

Nümunə:

ExecutorService executor = Executors.newFixedThreadPool(3);
executor.submit(() -> {
    System.out.println("Thread hovuzunda tapşırıq icra olunur");
});
executor.shutdown();

Əks halda, Thread istifadə edərkən, hər bir thread-i əl ilə yaratmaq və işə salmaq lazımdır, bu isə daha az səmərəli və daha çətindir.