views:

228

answers:

1

hi. 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?

+4  A: 

For a global (singleton) where each thread gets its own instance, use thread local storage. Boost has thread_specific_ptr for this.

Logan Capaldo
ah, nice. just what I want
aaa