|
Boost : |
Subject: [boost] [interthreads] Library under development
From: vicente.botet (vicente.botet_at_[hidden])
Date: 2008-11-26 14:14:33
Hi,
If the Boost community is interested in the InterThreads library I could work on to complete for submission.
InterThreads
-------------------
:Author: Vicente J. Botet Escribá
:Download:
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
:Description:
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.
Best regards,
Vicente
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk