2016-02-01 1 views
5

Voglio sapere se esiste un numero massimo di thread che è possibile eseguire su un dispositivo Android. Dipende dal tipo di dispositivo?Numero massimo di thread Android

+2

Tecnicamente non vi è alcun limite, ma a un certo punto avere più thread sarà meno efficiente di avere meno. Se vuoi vedere un'implementazione ottimale di un aspetto 'ThreadPool' sul codice sorgente di' AsyncTask'. –

risposta

6

Come commentato da @Xaver Kapeller, è possibile creare il numero di Thread desiderato ma più thread non è effettivamente la parte della soluzione.

A core (CPU) in Processor gestirà sola Task (Process o Thread) in un dato momento.

quindi in Processor con 1 core gestirà uno thread alla volta. quindi tecnicamente, non importa quanti thread hai aperto per questo processor, servirà un thread in un dato momento. Tutti gli threads che sono in esecuzione utilizzerebbero il processore in modo sequenziale, utilizzando il tempo quantico del processore che sembra essere solo simultaneo.

Processor con 2 core gestirà 2 threads alla volta (esecuzione concomitante di due thread).

Processor con 4 core gestirà 4 fili alla volta (esecuzione contemporanea di quattro fili.

Processor con 8 core gestire 8 threads alla volta (esecuzione contemporanea di otto fili. Ecc

0

Il numero massimo di thread che è possibile eseguire su un dispositivo Android dipende dal fatto che il dispositivo abbia un processore a 32 bit o un processore a 64 bit e stack size of Android. Tuttavia, prima di raggiungere il limite massimo effettivo si avranno i vincoli di memoria

Come indicato nell'articolo here è possibile eseguire test per determinare il numero massimo di thread che è possibile creare nella versione di Android.