14 Jul
2004
14 Jul
'04
12:38 p.m.
I've been perusing the source code of <boost/shared_ptr.hpp> and noticed that it uses the <boost/detail/shared_count.hpp> class to do reference counting and not <boost/detail/atomic_count.hpp> (unless BOOST_NO_MEMBER_TEMPLATES or BOOST_MSVC6_MEMBER_TEMPLATES are defined). Can anyone comment on the reasoning behind using a lightweight mutex-protected counter instead of an atomic counter? I'd think that an atomic counter would be faster, but I suspect that there is a good reason for protecting the count with a mutex. This then begs the question of why use the atomic counter in the situations mentioned above? Thanks. -- Caleb Epstein caleb.epstein@gmail.com