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

Reply via email to