Qualcuno può spiegare perché qualcuno dovrebbe utilizzare la funzione Android Looper per creare un "thread pipeline" invece di creare un thread normale che estrae le attività da un BlockingQueue? In superficie, sembra che due modi per fare la stessa cosa.Android Looper vs BlockingQueue?
9
A
risposta
4
BlockingQueue consente di avere più consumatori e produttori mentre il meccanismo di Looper consente di avere più produttori ma solo un consumatore.
Quindi nel thread Looper si esegue solo un'attività (eseguibile) alla volta. Il meccanismo del crochet è stato creato in modo da poter facilmente eseguito runnables (compiti incapsulati come messaggi) sul thread UI (che viene eseguito come un singolo thread in modo da pensare a come un singolo consumatore filo)
Looper/Handler anche fornire funzionalità per la differita exection di compiti che BlockingQueue out of the box non fa. Ancora una volta questo è importante nel contesto dei toolkit dell'interfaccia utente.