Junior — Middle
Dasturda multithreading qanday amalga oshiriladi?
sobes.tech AI
AIdan javob
Android ilovasida ko'p ipli (multithreading)ni amalga oshirish uchun bir nechta yondashuvlar mavjud:
- Thread sinfi —
run()metodini qayta yozish orqali yangi ip yaratish:
new Thread(new Runnable() {
@Override
public void run() {
// alohida ipda bajariladigan kod
}
}).start();
-
Handler va Looper dan foydalanish — iplar o'rtasida xabar almashish uchun.
-
AsyncTask (eskirgan, ammo hali keng tarqalgan) — fon vazifalarini bajarishni soddalashtiradi va UI ni yangilash imkonini beradi.
-
ExecutorService — bir nechta vazifalarni boshqarish uchun iplar havzasi.
-
Kotlin Coroutines — zamonaviy va qulay asinxron dasturlash usuli, kodni sinxron kodga o'xshash yozishga imkon beradi.
Ipni yaratish va ishga tushurish misoli:
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
// Uzun davom etadigan operatsiya
}
});
thread.start();
UI yangilanishi faqat asosiy ipda (UI thread) bo'lishi kerakligini unutmang. Shuning uchun, fon ipidan natijalarni uzatishda Handler, runOnUiThread() yoki boshqa mexanizmlar ishlatiladi.