HI Richard + Paul, Thanks for explanation. Feel free to dive in an code up such a solution.
Robert. On Tue, Mar 17, 2009 at 10:17 AM, Schmidt, Richard <[email protected] > wrote: > The document is about a design pattern called double locking, which is > especially suitable for singleton objects in multithreaded environments. > > The pattern is essentially this: > > static Singleton *instance (void) > { > // First check > if (instance_ == 0) > { > // Ensure serialization (guard > // constructor acquires lock_). > Guard<Mutex> guard (lock_); > // Double check. > if (instance_ == 0) > instance_ = new Singleton; > } > return instance_; > // guard destructor releases lock_. > } > > The guard mutex is only accessed in the initialization phase of the > singleton. Once instance_ is set the guard does not need to be queried > anymore. > > Richard > _______________________________________ > Von: [email protected] [mailto: > [email protected]] Im Auftrag von Robert Osfield > Gesendet: Dienstag, 17. März 2009 11:07 > An: OpenSceneGraph Users > Betreff: Re: [osg-users] Multithreading crash > duetoosgDb::Registry::instance() > > 2009/3/17 Schmidt, Richard <[email protected]> > http://www.cs.wustl.edu/~schmidt/PDF/DC-Locking.pdf<http://www.cs.wustl.edu/%7Eschmidt/PDF/DC-Locking.pdf> > > Could you explain what the above document is all about... > > Robert. > _______________________________________________ > osg-users mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >
_______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

