Hi,
I have requested the Review Wizards to include
Boost.Interthreads library on the review schedule.
Even if there were not too much interest for
this library on this ML, there were more than 1000 dowloads from the Boost
Vault.
I'm open to reduce the scope of the library,
if there are some parts that are not enough generic.
I would appreciate it if people could participate
to this Pre-review, reading the documentation, testing on their compiler,
....
Every comment will help me a lot to improve the library.
BTW, I'm looking for a review manager.
Thanks in advance,
Vicente
InterThreads
__________
:Author: Vicente J.
Botet Escribá
:Review Manager: ???
:Description:
Boost.InterThreads extends Boost.Threads adding thread setup/cleanup
decorator, thread specific shared pointer, thread keep alive mechanism and
thread tuples.
* thread decorator: thread_decorator allows to define
setup/cleanup functions which will be called only once by thread: setup before
the thread function and cleanup at thread exit.
* thread
specific shared pointer: this is an extension of the thread_specific_ptr
providing access to this thread specific context from other threads. As it is
shared the stored pointer is a shared_ptr instead of a raw
one.
* thread keep alive mechanism: this mechanism allows
to detect threads that do not prove that they are alive by calling to the
keep_alive_point regularly. When a thread is declared dead a user provided
function is called, which by default will abort the
program.
* thread tuple: defines a thread groupe where the
number of threads is know statically and the threads are created at construction
time.
* set_once: a synchonizer that allows to set a
variable only once, notifying to the variable value to whatever is waiting for
that.
* thread_tuple_once: an extension of the
boost::thread_tuple which allows to join the thread finishing the first, using
for that the set_once synchronizer.
* thread_group_once:
an extension of the boost::thread_group which allows to join the thread
finishing the first, using for that the set_once synchronizer.
(thread_decorator and thread_specific_shared_ptr) are based on the original
implementation of threadalert written by Roland Schwarz.