Sobes.tech
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:

  1. 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();
  1. Handler és Looper használata — üzenetek cseréje a szálak között.

  2. AsyncTask (elavult, de még gyakran használt) — megkönnyíti a háttérfeladatok végrehajtását UI frissítéssel.

  3. ExecutorService — szálak csoportja több feladat kezelésére.

  4. 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.