> On Apr 1, 2014, at 12:25 AM, Jens Alfke wrote: > >> On Mar 31, 2014, at 10:16 PM, Trygve Inda <cocoa...@xericdesign.com> wrote: >> >>> I need to be able to set a new myDict and not have it happen between the >>> reading of different values from the dictionary by other threads. >> >> Don’t expose the dictionary in mutable form. You can’t make that thread-safe >> unless all the clients voluntarily agree to do something like wrap their >> usage with @synchronized blocks using the dictionary as a parameter. > > I didn't see mention of mutating the dictionary. It sounds like he's just > using a setter to replace it (which also likely releases it, which makes it > potentially unsafe). > > I agree, though, that properties should almost never be of mutable type. But > making them immutable doesn't, by itself, create thread-safety. If nothing > else, the owner could still mutate it while other threads are reading it. > > Regards, > Ken > > Yes, the property is Mutable in the host app, but after being sent to the helper app (which has multiple threads), it could just as easily be an NSDictioanary (non-mutable).
I just need to be 100% certain that when the helper app threads read two values from the dictionary, that the dictionary does not change between (or during) these two reads. T. _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com