Subject: [boost] [interthreads] Library under development
From: vicente.botet (vicente.botet_at_[hidden])
Date: 2008-11-26 14:14:33
If the Boost community is interested in the InterThreads library I could work on to complete for submission.
:Author: Vicente J. Botet Escribá
Boost Vault: <http://www.boostpro.com/vault/index.php?action=downloadfile&filename=interthreads.zip&directory=Concurrent%20Programming&>
Boost Sandbox: https://svn.boost.org/svn/boost/sandbox/interthreads
Html doc included only on the Vault
Boost.InterThreads extends Boost.Threads adding some features:
* 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.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk