Klassenmethoden & Threadsicherheit (NSJSONSerialization)

8

In meiner iOS App arbeite ich in einem Hintergrundthread (mit performSelectorInBackground ). In diesem Thread verwende ich NSJSONSerialization und seine Klassenmethoden, um eine JSON-Zeichenfolge zu analysieren:

%Vor%

Ist diese Klassenmethode ( JSONObjectWithData ) threadsicher? Kann ich mir da sicher sein? Wo ist es in der Dokumentation geschrieben?

Ich weiß, dass Instanzmethoden im Allgemeinen nicht threadsicher sind , es sei denn, die Dokumente sagen dies. Kann ich allgemein sagen, dass Klassenmethoden Thread-sicher sind , sofern nicht anders angegeben?

    
kuba 19.03.2013, 08:25
quelle

3 Antworten

1

Ich rate ein bisschen hier.

Der Thread-Programmierhandbuch gibt

an >
  

Unveränderbare Objekte sind im Allgemeinen Thread-sicher; Sobald Sie sie erstellt haben, Sie   kann diese Objekte sicher an und von Threads übergeben.

Das Aufrufen einer Klassenmethode bedeutet das Senden einer Nachricht an das Klassenobjekt, und die Klassenobjekte sind unveränderlich. Meine Schlussfolgerung wäre, dass es sicher ist, Klassenmethoden von verschiedenen Theads aufzurufen.

    
Martin R 19.03.2013 08:59
quelle
1

Ich habe gerade eine ähnliche Frage im Apple Entwicklerforum gestellt. Die Antwort, die ich bekam, war, dass NSJSONSerialization threadsicher ist:

Ссылка

    
Greg Brown 17.07.2015 14:38
quelle
-1

Verwalteter Inhalt ist nicht threadsicher. Sie können den Code entweder auf Ihrem Hauptthread ausführen oder im Hintergrund ausführen und NSNotificationCenter verwenden, um die UI neu zu laden, wenn der Hintergrundthread fertig bearbeitet wurde.

    
Leon 19.03.2013 08:36
quelle