On Dec 7, 2012, at 8:38 PM, Marco S Hyman <m...@snafu.org> wrote: > On Dec 7, 2012, at 8:18 PM, Steve Sisak <sgs-li...@codewell.com> wrote: > >> I'm interested if there are an any issued I'm missing in the Obj-C, >> @synchronized(self), instance variable case. > > > Your pattern can fail if this line > _someDictionary = temp; > isn't atomic.
The real issue with double-checked locking is whether the compiler promises to generate the proper memory barriers such that other threads are guaranteed to see the assignment to _someDictionary *after* the object has been constructed. C makes no such guarantee; other threads might see a non-nil value for _someDictionary before the first thread is done constructing the object. --Kyle Sluder _______________________________________________ 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