|
Boost : |
Subject: Re: [boost] Is there interest in an alternative to the Singleton anti-pattern?
From: Ben Robinson (icaretaker_at_[hidden])
Date: 2011-06-28 03:39:40
>
> On 24 June 2011 02:06, Ben Robinson <icaretaker_at_[hidden]> wrote:
>
> > If you choose the default policy of single_threaded, there is no
> > thread safety, but there is also no overhead in using a mutex and using
> a
> > volatile pointer.
> >
>
> Volatile in C++ doesn't really help with threading... Check out <
> http://software.intel.com/en-us/blogs/2007/11/30/volatile
> -almost-useless-for-multi-threaded-programming/>
> for one of many articles on the subject.
> --
> Nevin ":-)" Liber <mailto:nevin_at_[hidden]> (847) 691-1404
Nevin,
I greatly appreciate the input you have provided. I retract my original
response, as I now better understand why volatile does not add any value to
Singularity. Singularity is already acquiring a mutex object, before
accessing the shared instance pointer, and that mutex acquisition is already
providing memory fencing.
I have simplified the implementation of Singularity and the latest version
is available at: https://github.com/icaretaker/Singularity. Any additional
input would be appreciated.
Thank you,
Ben Robinson, Ph.D.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk