Junior — Middle
Πώς υλοποιείτε έναν dispatcher που λειτουργεί σε μονονηματική λειτουργία;
sobes.tech AI
Απάντηση από AI
Στο Android, για την υλοποίηση ενός dispatcher (διαχειριστή) που λειτουργεί σε μονονηματική λειτουργία, μπορείτε να χρησιμοποιήσετε την κλάση Handler με Looper που συνδέεται με ένα μόνο νήμα. Συνήθως, αυτό είναι το κύριο (UI) νήμα, αλλά μπορείτε επίσης να δημιουργήσετε το δικό σας νήμα με το δικό του Looper.
Παράδειγμα δημιουργίας μονονηματικού διαχειριστή:
// Δημιουργία νήματος με Looper
val handlerThread = HandlerThread("MySingleThreadDispatcher")
handlerThread.start()
// Δημιουργία Handler που συνδέεται με αυτό το νήμα
val handler = Handler(handlerThread.looper)
// Αποστολή εργασιών για εκτέλεση σε μονονηματική λειτουργία
handler.post {
// Κώδικας που θα εκτελεστεί σε αυτό το νήμα
}
Έτσι, όλες οι εργασίες που αποστέλλονται μέσω αυτού του handler θα εκτελούνται διαδοχικά σε ένα μόνο νήμα, διασφαλίζοντας έναν μονονηματικό διαχειριστή.