Meine Anwendung verwendet GCD stark und fast alles wird in kleine Aufgaben aufgeteilt, die von Versendungen behandelt werden. Das zugrundeliegende Datenmodell wird jedoch meistens gelesen und nur gelegentlich geschrieben.Lesen-Schreiben-Sperre mit GCD
Ich verwende derzeit Sperren, um Änderungen an den kritischen Datenstrukturen beim Lesen zu verhindern. Aber nachdem ich heute ein paar mehr in Locks geschaut habe, habe ich NSConditionLock und einige Seiten über Lese-Schreib-Locks gefunden. Letzteres ist genau das, was ich brauche.
Ich fand diese Implementierung: http://cocoaheads.byu.edu/wiki/locks. Meine Frage ist, wird diese Implementierung mit GCD arbeiten, sehen Sie, dass es PThreads verwendet?
Ah, ich hatte über die Barrieren gelesen, aber zu dieser Zeit konnte ich mir keine praktische Anwendung vorstellen (ich benutzte damals noch nie Multithreading) und vergaß alles über sie. Danke, ich werde versuchen zu sehen, ob ich das benutzen kann! –
Mike Ash bietet auch ein schönes Beispiel für die Synchronisierung von Reader und Writer mit GCD. http://www.mikeash.com/pyblog/friday-qa-2011-10-14-whats-new-in-gcd.html –