Sobes.tech
Junior — Middle

Java'da ma'lumot oqimlarini yaratishni qanday amalga oshirish mumkin va ularning farqlari nima?

sobes.tech AI

AIdan javob

Java'da ma'lumot oqimlarini (streams) yaratish bir nechta usul bilan amalga oshirilishi mumkin:

  1. Thread sinfidan meros olish

    • Threadni kengaytiradigan va run() metodini qayta yozadigan sinf yaratishingiz mumkin.
    • start() chaqirilishi bilan oqimni boshlaysiz.
  2. Runnable interfeysini amalga oshirish

    • run() metodini o'z ichiga olgan Runnableni amalga oshiradigan sinf yaratishingiz mumkin.
    • Ob'ektni Thread konstruktoriga berib, ishga tushirasiz.
  3. ExecutorService dan foydalanish

    • Threadlar havuzini boshqarishga imkon beradi.
    • Kattalashtiriladigan ilovalar uchun qulay.
  4. Callable va Future dan foydalanish

    • Threaddan natija olish imkonini beradi.

Farqlar:

  • Threaddan meros olish cheklovlarga olib keladi, chunki Java ko'p meroslikni qo'llab-quvvatlamaydi.
  • Runnable ko'proq moslashuvchan, kompozitsiyani ishlatishga imkon beradi.
  • ExecutorService threadlarni va ularning hayot aylanishini boshqarishni soddalashtiradi.

Runnable bilan misol:

class MyRunnable implements Runnable {
    public void run() {
        System.out.println("Thread ishga tushdi");
    }
}

public class Main {
    public static void main(String[] args) {
        Thread thread = new Thread(new MyRunnable());
        thread.start();
    }
}