Junior — Middle
Hogyan valósítható meg a multithreading egy programban?
sobes.tech MI
Válasz az MI-től
Az Android alkalmazásban a több szál (multithreading) megvalósításához több megközelítés is létezik:
- Thread osztály — hozz létre egy új szálat a
run()metódus felülírásával:
new Thread(new Runnable() {
@Override
public void run() {
// kód, amely egy külön szálon fut
}
}).start();
-
Handler és Looper használata — üzenetek cseréje a szálak között.
-
AsyncTask (elavult, de még gyakran használt) — megkönnyíti a háttérfeladatok végrehajtását UI frissítéssel.
-
ExecutorService — szálak csoportja több feladat kezelésére.
-
Kotlin Coroutines — modern és kényelmes módszer az aszinkron programozáshoz, lehetővé téve a szinkronhoz hasonló kód írását.
Példa egy szál létrehozására és indítására:
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
// Hosszú művelet
}
});
thread.start();
Fontos megjegyezni, hogy a UI frissítése csak a fő szálon (UI thread) történjen, ezért az eredmények átadására háttérszálból Handler, runOnUiThread() vagy más mechanizmusok használhatók.