2012-05-04 8 views
14

La documentazione di Apple dice che se si imposta la proprietà maxConcurrentOperationCount di un NSOperationQueue per NSOperationQueueDefaultMaxConcurrentOperationCount (il default) allora sarà regolare il valore in fase di esecuzione in base a "condizioni di sistema".NSOperationQueueDefaultMaxConcurrentOperationCount in natura

Se si specifica il valore NSOperationQueueDefaultMaxConcurrentOperationCount (che è consigliato), il numero massimo di operazioni può cambiare dinamicamente in base alle condizioni del sistema.

Qualcuno può segnalare quello che sta vedendo quel valore impostato su Wild in diversi dispositivi? Stiamo parlando 1 o 2 per i vecchi telefoni e 3-4 per i nuovi modelli, o 10 o ?? Non fornisce alcuna comprensione del set di possibilità o del risultato più comune. Penso che sarebbe utile per gli sviluppatori sapere cosa aspettarsi di accadere nella produzione, piuttosto che prendercene cura senza alcuna spiegazione di ciò che stanno ottimizzando (reattività dell'interfaccia utente, velocità di esecuzione dell'operazione, ecc.).

risposta

6

Come detto in molte varianti e risorse (for instance), non si sa mai quanti thread si dovrebbero creare per il flusso di lavoro dell'applicazione.

È una questione di tempo di CPU e caricare la quantità di thread necessaria per l'applicazione (perché non è sola nei boschi). Quindi, la risposta è:

  1. ottimizzazione per numero di core
  2. ottimizzazione per architettura della CPU
  3. ottimizzazione per correnti di CPU
+1

NSOperationQueueDefaultMaxConcurrentOperationCount a volte permette di coda per creare il maggior numero di discussioni come diventa difficile per l'app iOS per gestirli. Ricevo SIGABRT a causa del numero di thread in esecuzione durante l'utilizzo di NSOperationQueueDefaultMaxConcurrentOperationCount.NO un'idea del motivo per cui vengono create così tante operazioni. –

+0

@devgr prova a impostare i breakpoint e buona fortuna nel debugging. Puoi cercare domande relative o chiedere aiuto in una nuova solo per le tue esigenze. –

Problemi correlati