Sobes.tech
Junior — Middle

Ako implementovať multithreading v programe?

sobes.tech AI

Odpoveď od AI

Pre implementáciu multithreadingu (multithreading) v Android aplikácii je možné použiť niekoľko prístupov:

  1. Trieda Thread — vytvorenie nového vlákna prepísaním metódy run():
new Thread(new Runnable() {
    @Override
    public void run() {
        // kód vykonávaný v samostatnom vlákne
    }
}).start();
  1. Použitie Handlera a Loopera — na výmenu správ medzi vláknami.

  2. AsyncTask (zastaralé, ale ešte často používané) — zjednodušuje vykonávanie úloh na pozadí s aktualizáciou UI.

  3. ExecutorService — pool vlákien na správu viacerých úloh.

  4. Kotlin Coroutines — moderný a pohodlný spôsob asynchrónneho programovania, ktorý umožňuje písať kód podobný synchronnému.

Príklad vytvorenia a spustenia vlákna:

Thread thread = new Thread(new Runnable() {
    @Override
    public void run() {
        // Dlhá operácia
    }
});
thread.start();

Dôležité je pamätať, že aktualizácia UI by mala prebiehať iba v hlavnom vlákne (UI thread), preto na odovzdanie výsledkov z pozadia sa používajú Handler, runOnUiThread() alebo iné mechanizmy.