Der Hauptunterschied zwischen NSOperationQueue
und den zugrunde liegenden GCD-Warteschlangen ist, dass NSOperation
s Abhängigkeiten zwischen Operationen unterstützen. NSOperationQueue
wird einen Vorgang nicht planen, bis alle seine Abhängigkeiten abgeschlossen sind. Von den verfügbaren Operationen wird die Operation mit der höchsten Priorität als nächste ausgewählt.
Da die Operationswarteschlange mehrere Operationen gleichzeitig ausführen kann (gemäß maxConcurrentOperations
), gibt es in der Warteschlange keinen strengen Ordnungssinn. Sie wären viel besser dran, wenn Sie die Abhängigkeiten-API verwenden oder Operationsproritäten ändern.
Ich glaube, dass Sie Abhängigkeiten und Prioritäten ändern können, nachdem Sie der Warteschlange einen Vorgang hinzugefügt haben.
Prioritäten, ja. Das wird mir nah genug kommen. Vielen Dank! – mousebird