2015-08-07 16 views

risposta

30

Il thread Ui è il thread che apporta le modifiche richieste per l'interfaccia utente.

Un thread di lavoro è solo un altro thread in cui si può fare di elaborazione che non volete di interrompere tutti i cambiamenti che avvengono sul thread UI

Se stai facendo una grande quantità di elaborazione sul thread UI, mentre una modifica al Sta succedendo, l'interfaccia si bloccherà fino a quando non avrai completato la corsa.

+0

grazie tanto: D Sono comprendere –

+0

@Stimsoni grazie signore, ma puoi dirmi un esempio in tempo reale. Quando dobbiamo usare thread di lavoro e quando dobbiamo usare thread di sfondo –

+0

@GowthamanM. Un thread di lavoro e thread in background sono la stessa cosa. quindi useresti un thread in background/worker per tutto ciò che richiederà tempo per completarlo e non sta aggiornando l'interfaccia utente. Alcuni esempi, Accesso al database, una chiamata API, lunghi algoritmi di ordinamento, manipolazione delle immagini, analisi dei dati (json -> pojo) ecc. Questo può aiutare? – Stimsoni

11

È parzialmente terminologico. Le persone usano la parola "lavoratore" quando intendono un thread che non possiede o interagisce con l'interfaccia utente. I thread che gestiscono l'interfaccia utente sono chiamati thread "UI". Di solito, il thread principale (primario) sarà il thread che possiede e gestisce l'interfaccia utente. E quindi si avvia uno o più thread di lavoro che svolgono attività specifiche. Questi thread di lavoro non modificano l'interfaccia utente direttamente.

per esempio, se abbiamo bisogno di cambiare componente dell'interfaccia utente come testo cambiamento di vista testuale, mostrare brindisi ecc, spettacolo avviso allora abbiamo bisogno di usare thread UI bcoz discussione è solo elaborare

possiamo accedere interfaccia utente in discussione utilizzando runOnUiThread metodo

esempio di runOnUiThread: utilizzare questo metodo filettatura interna

new Thread() { 
     @Override 
     public void run() { 
      //If there are stories, add them to the table 
      try { 
        // code runs in a thread 
        YourActivity.this.runOnUiThread(new Runnable() { 
         @Override 
         public void run() { 
          Toast.makeText(context,"this is UI thread",0).show(); 
         } 
        }); 
       } catch (final Exception ex) { 
        Log.i("---","Exception in thread"); 
       } 
     } 
}.start(); 
+0

molte grazie^_^ –

+0

puoi dirmi qualche esempio in tempo reale. Quando dobbiamo usare thread di lavoro e quando dobbiamo usare thread in background. @ Jenisha Makadiya –

Problemi correlati