Sorry to flood so many questions this week.
I assume thread index returned by thread.get_id
is implementation specific.
In case of the pthreads, is index reused? IE, if thread 0 runs and joins, is thread launched afterwords going to have a different ID?
the reason I ask this is a need to implement Singleton pattern with a twist: each thread gets its own i开发者_如何学运维nstance. I know it sounds very crazy, but threads control hardware (cuda) which does not permit device memory sharing, even at thread level.
What is a good way to implement such pattern?For a global (singleton) where each thread gets its own instance, use thread local storage. Boost has thread_specific_ptr for this.
精彩评论