Sobes.tech
Junior — Middle

Jak zaimplementować wielowątkowość w programie?

sobes.tech AI

Odpowiedź od AI

Aby zaimplementować wielowątkowość (multithreading) w aplikacji Android, można użyć kilku podejść:

  1. Klasa Thread — utwórz nowy wątek nadpisując metodę run():
new Thread(new Runnable() {
    @Override
    public void run() {
        // kod wykonywany w osobnym wątku
    }
}).start();
  1. Użycie Handler i Looper — do wymiany wiadomości między wątkami.

  2. AsyncTask (przestarzałe, ale nadal powszechne) — upraszcza wykonywanie zadań w tle z aktualizacją UI.

  3. ExecutorService — pula wątków do zarządzania wieloma zadaniami.

  4. Kotlin Coroutines — nowoczesny i wygodny sposób programowania asynchronicznego, pozwalający pisać kod podobny do kodu synchronicznego.

Przykład tworzenia i uruchamiania wątku:

Thread thread = new Thread(new Runnable() {
    @Override
    public void run() {
        // Długa operacja
    }
});
thread.start();

Ważne jest, aby pamiętać, że aktualizacja UI powinna odbywać się tylko w głównym wątku (UI thread), dlatego do przekazywania wyników z wątku tła używa się Handler, runOnUiThread() lub innych mechanizmów.