Reputation: 51505
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 instance. 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?
Upvotes: 4
Views: 965
Reputation: 40346
For a global (singleton) where each thread gets its own instance, use thread local storage. Boost has thread_specific_ptr for this.
Upvotes: 5