Boost logo

Boost Users :

From: Mark Sizer (yg-boost-users_at_[hidden])
Date: 2003-05-13 09:50:37


Ah, the ever helpful meta-question...

The thread ID is being used to pull context information out of a map so
that the methods know what set of stuff to operate upon.

This sounds like thread_specific_ptr<> to me. Thanks!

- Mark

Ben Hutchings wrote:

> Mark Sizer wrote:
>
>>I know there was a discussion about the need for these and why
>>they're not in the library. I can't find it, however.
>>
>>I'm having the same problem the original poster had: I'm using
>>the thread ID as an identifier in a data structure (std::map in
>>this case).
>>
>
> You can do that with Windows thread IDs, because they are simple
> integers. Unfortunately the Posix thread ID type (pthread_t) is
> an abstract data type and the only relation defined on it is
> equality (pthread_equal()). Some implementations use a type that
> can safely and correctly be compared with std::less, but there's
> no guarantee of that, so Boost can't offer such a guarantee
> either.
>
>
>>Now that I'm converting to the Boost threads library, I have to
>>change that. I'm not sure what to do instead.
>>
>>Any help, either a pointer to the original discussion or direct
>>suggestions, will be much appreciated.
>>
>
> How about using pointers to boost::thread objects as IDs (they
> must of course be the instances used to start the thread, rather
> than instances created with the default constructor). Store each
> thread's own pointer in TLS (or TSS as Boost.Threads calls it).
> (This is tricky, though - you can't pass a thread's own ID to its
> initial function, as threads start to run immediately. I suppose
> you could use placement new, but that's a bit gross.)
>
> What's the need for thread IDs, anyway? Are you using a thread
> pool?
>
>
> Info: <http://www.boost.org>
> Wiki: <http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl>
> Unsubscribe: <mailto:boost-users-unsubscribe_at_[hidden]>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>
>
>


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net