Bin gerade am optimieren einer lade-Methode, und weil ich mich mit den atomic properties noch nie tief genug beschäftigt habe ist jetzt wohl der richtige Zeitpunkt. 
Ich parse (mehrere) CSV files auf einem eigenen Thread. Je nach einem Wert der CSV Zeile gehört diese Zeile zum einten oder anderen Objekt; diese Objekte werden erstellt, sobald sie das erste mal benötigt werden, und in einem NSMutableArray (Instanzvariable) gesammelt. Damit ich nicht zweimal dasselbe Objekt erstelle füge ich neue Objekte dem Array mittels performSelectorOnMainThread:withObject:waitUntilDone: hinzu und warte sogar, bis das geschehen ist. Klappt soweit bestens.
Nun die Frage: Könnte ich diesen NSMutableArray einfach als atomic property definieren und dann ohne performSelectorOnMainThread arbeiten? D.h. ich könnte dann [self.myMutableArray addObject:xy] aufrufen und alles wird gut?
Und wie sieht es performance-mässig aus?
Danke schonmal.
Edit:
Dass "atomic" nicht gleich "thread-safe" bedeutet hab ich verstanden, hier geht es ja aber bloss um einen Thread (zumindest zu dem Zeitpunkt)... wobei, muss ich mir dabei überhaupt Sorgen machen? Da ich die Objekte im selben Thread (nur halt nicht im Main Thread) auslese und einfüge, könnte ich doch eigentlich... einfach ohne atomic und ohne performSelectorOnMainThread arbeiten... oder?
Anders wärs wohl wenn ich nochmal alle die CSV files auf ihrem eigenen Thread parsen lassen würde. Also ein eigener Thread, welcher die Files auf wieder andere verteilt... hey, das könnte ich sogar machen. Dann muss ich aber mit performSelectorOnMainThread arbeiten, wenn ich da richtig durchblicke. Oder?
Fragen über Frage...

Ich parse (mehrere) CSV files auf einem eigenen Thread. Je nach einem Wert der CSV Zeile gehört diese Zeile zum einten oder anderen Objekt; diese Objekte werden erstellt, sobald sie das erste mal benötigt werden, und in einem NSMutableArray (Instanzvariable) gesammelt. Damit ich nicht zweimal dasselbe Objekt erstelle füge ich neue Objekte dem Array mittels performSelectorOnMainThread:withObject:waitUntilDone: hinzu und warte sogar, bis das geschehen ist. Klappt soweit bestens.
Nun die Frage: Könnte ich diesen NSMutableArray einfach als atomic property definieren und dann ohne performSelectorOnMainThread arbeiten? D.h. ich könnte dann [self.myMutableArray addObject:xy] aufrufen und alles wird gut?

Und wie sieht es performance-mässig aus?
Danke schonmal.
Edit:
Dass "atomic" nicht gleich "thread-safe" bedeutet hab ich verstanden, hier geht es ja aber bloss um einen Thread (zumindest zu dem Zeitpunkt)... wobei, muss ich mir dabei überhaupt Sorgen machen? Da ich die Objekte im selben Thread (nur halt nicht im Main Thread) auslese und einfüge, könnte ich doch eigentlich... einfach ohne atomic und ohne performSelectorOnMainThread arbeiten... oder?
Anders wärs wohl wenn ich nochmal alle die CSV files auf ihrem eigenen Thread parsen lassen würde. Also ein eigener Thread, welcher die Files auf wieder andere verteilt... hey, das könnte ich sogar machen. Dann muss ich aber mit performSelectorOnMainThread arbeiten, wenn ich da richtig durchblicke. Oder?
Fragen über Frage...
Widgetschmie.de • Life is too short for gadgets