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ść:
- 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();
-
Użycie Handler i Looper — do wymiany wiadomości między wątkami.
-
AsyncTask (przestarzałe, ale nadal powszechne) — upraszcza wykonywanie zadań w tle z aktualizacją UI.
-
ExecutorService — pula wątków do zarządzania wieloma zadaniami.
-
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.