Sobes.tech
Junior — Middle

Cum se implementează un dispatcher care funcționează în modul single-thread?

sobes.tech AI

Răspuns de la AI

În Android, pentru a implementa un dispatcher (dispecer) care funcționează în modul de un singur fir, poți folosi clasa Handler cu Looper legat de un singur fir. De obicei, acesta este firul principal (UI), dar poți crea și propriul fir cu propriul Looper.

Exemplu de creare a unui dispatcher cu un singur fir:

// Creăm un fir cu Looper
val handlerThread = HandlerThread("MySingleThreadDispatcher")
handlerThread.start()

// Creăm un Handler legat de acest fir
val handler = Handler(handlerThread.looper)

// Trimitem sarcini pentru executare în modul de un singur fir
handler.post {
    // Cod care va fi executat în acest fir
}

Astfel, toate sarcinile trimise prin acest handler vor fi executate secvențial într-un singur fir, asigurând un dispatcher cu un singur fir.