
On 05.07.2010 0:11, Stefan Strasser wrote:
Zitat von "vicente.botet" <vicente.botet@wanadoo.fr>:
A few notes up-front. There are extensions in some compilers for TLS support. It offers even better performance and easier to use. Also, C++0x will bring this feature into the language. But: * It is known to have problems with dynamically-loaded modules. * It is not portable. Even when C++0x it out, not all compilers will support it right away. * thread_specific does not require the variable to have a static storage duration.
Stefan Stasser has proposed a stati_thread_specific_ptr (see attached file). What about a static_thread_specific that could be implemented using the C++0x thread_local, when available?
I use a static_thread_specific_ptr in namespace detail because I only needed static TSS, but I don't propose adding this as a public interface to boost. a better implementation of the existing thread_specific_ptr interface can be almost as efficient as static_thread_specific_ptr. there is one additional indirection (two in the prototype implementation), but it is just as efficient as thread_local otherwise.
How do you work around the problem with delay loaded dlls?