2016-07-19 16 views
1

In meiner App muss ich mehr als 300 Threads asynchron ausführen [Jeder Thread stirbt innerhalb von 500ms]. In Android schreibe ich eine ayncTask-Klasse und führe meinen Code darin aus. Wie können wir in iOS machen, brauche ich eine Klasse und keine Funktion.Wie schreibe ich asynchrone Thread-Klassen in iOS?

Bitte geben Sie ein Beispiel, Tutorial oder Dokumentation. Es wird eine große Hilfe sein.

+0

'NSThread'? BTW, 300 Threads ist insgesamt Overkill auf einem 4- oder 8-Core-Gerät. Vielleicht möchten Sie GCD und 'NSOperationQueue' einchecken. – Avi

+1

Bitte geben Sie ein Beispiel oder eine Anleitung oder einen Artikel an, falls verfügbar. Thats eine große Hilfe –

Antwort

3

Ich würde GCD nutzen zu diesem Zweck finden Sie in dieser Anleitung oder Apfel-Dokumentation: https://www.raywenderlich.com/60749/grand-central-dispatch-in-depth-part-1

Dies würde die Anzahl der Threads nach den Geräten capabilibilities optimiert und unnötige Thread Zuweisungen beseitigen. Sie benötigen die gleichzeitige Warteschlange. Die einfachste (nicht die Art und Weise optimiert) ist:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 
    // do your task here 
    }); 

Weitere Informationen finden Sie im oben genannten Artikel.

+0

Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz zur Verfügung zu stellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - [Aus Bewertung] (/ review/low-quality-posts/13051275) – NSNoob

+0

Sie haben Recht Ich werde es in einer Minute mit der einfachsten Lösung bearbeiten. –