Junior — Middle
Hoe implementeer je een dispatcher die in enkelvoudige thread-modus werkt?
sobes.tech AI
Antwoord van AI
In Android, om een dispatcher (verzender) te implementeren die in enkelvoudige thread-modus werkt, kun je de klasse Handler gebruiken met Looper die gekoppeld is aan één thread. Dit is meestal de hoofd- (UI-) thread, maar je kunt ook je eigen thread met een eigen Looper maken.
Voorbeeld van het maken van een enkelvoudige thread dispatcher:
// Maak een thread met Looper
val handlerThread = HandlerThread("MySingleThreadDispatcher")
handlerThread.start()
// Maak een Handler gekoppeld aan deze thread
val handler = Handler(handlerThread.looper)
// Verzend taken voor uitvoering in enkelvoudige thread-modus
handler.post {
// Code die in deze thread wordt uitgevoerd
}
Op deze manier worden alle taken die via deze handler worden verzonden, sequentieel uitgevoerd in één thread, wat een enkelvoudige thread dispatcher garandeert.