2017-03-04 2 views
0

Meine iOS app hat mehrere threads (zwischen 8 und 50) und wenn ich qualityOfService vor dem thread startet, .userInitiated threads endet vor .background threads. Aber ich muss diese Prioritäten nach dem Aufruf Thread.run() ändern. Das Ändern von qualityOfService wirkt sich nicht nach dem Aufruf von run aus. Kann mir jemand dabei helfen?Schnell wechseln thread qualityOfService/priority nach thread run

Antwort

1

Ohne das Wissen über das Problem, das Sie lösen möchten, würde ich Sie beraten;

Wäre es nicht hilfreicher mit GCD, weshalb GCD beabsichtigt ist? GCD wird den Threads-Lebenszyklus für Sie übernehmen, daher müssen Sie sich nur darum kümmern, Ihre Arbeit in die eine oder andere Warteschlange zu schicken. Sie können entweder Dispatching oder OperationQueues verwenden, um Ihre Anforderungen zu erfüllen.

+0

Hey, danke für deine Antwort, ich habe eine App, die Karten von Gebäuden zeigt. Es gibt mehrere Stockwerke in jedem Gebäude und die Daten jeder Etage werden in individuellen XML-Dateien gespeichert. Also parse ich diese XML-Dateien über Threads für die Leistungsvorteile. Zuerst werden die XML-Dateien des ersten Stocks geparst, danach muss ich andere Stockwerke im Hintergrund parsen, aber wenn der Benutzer ein anderes Stockwerk auswählt, sollte die Parsing-Priorität des ausgewählten Stockwerks am schnellsten sein. Ich werde GCD anschauen. Wenn Sie andere Ideen haben, wäre das großartig. – peynir