#include <pthread_tools.hpp>
Classes | |
| class | tls_data |
Public Member Functions | |
| thread (size_t thread_id=0) | |
| void | launch (const boost::function< void(void)> &spawn_routine) |
| void | launch (const boost::function< void(void)> &spawn_routine, size_t cpu_id) |
| void | join () |
| bool | active () const |
| Returns true if the thread is still running. | |
| pthread_t | pthreadid () |
| Returns the pthread thread id. | |
Static Public Member Functions | |
| static tls_data & | get_tls_data () |
| Static helper routines. | |
| static size_t | thread_id () |
| static void | join (thread &other) |
| static void | thread_destroy_callback () |
| static void | set_thread_destroy_callback (void(*callback)()) |
| static size_t | cpu_count () |
A collection of routines for creating and managing threads.
The thread object performs limited exception forwarding. exception throws within a thread of type const char* will be caught and forwarded to the join() function. If the call to join() is wrapped by a try-catch block, the exception will be caught safely and thread cleanup will be completed properly.
Definition at line 495 of file pthread_tools.hpp.
| graphlab::thread::thread | ( | size_t | thread_id = 0 |
) | [inline] |
Creates a thread with a user-defined associated thread ID
Definition at line 564 of file pthread_tools.hpp.
| static size_t graphlab::thread::cpu_count | ( | ) | [static] |
Return the number processing units (individual cores) on this system
| static tls_data& graphlab::thread::get_tls_data | ( | ) | [static] |
Static helper routines.
Get the thread specific data associated with this thread
| void graphlab::thread::join | ( | ) | [inline] |
Join the calling thread with this thread. const char* exceptions thrown by the thread is forwarded to the join() function.
Definition at line 595 of file pthread_tools.hpp.
| static void graphlab::thread::join | ( | thread & | other | ) | [static] |
This static method joins the invoking thread with the other thread object. This thread will not return from the join routine until the other thread complets it run.
| void graphlab::thread::launch | ( | const boost::function< void(void)> & | spawn_routine, | |
| size_t | cpu_id | |||
| ) |
Same as launch() except that you can specify a CPU on which to run the thread. This only currently supported in Linux and if invoked on a non Linux based system this will be equivalent to start().
| void graphlab::thread::launch | ( | const boost::function< void(void)> & | spawn_routine | ) |
execute this function to spawn a new thread running spawn_function routine
| static size_t graphlab::thread::thread_id | ( | ) | [inline, static] |
Get the id of the calling thread. This will typically be the index in the thread group. Between 0 to ncpus.
Definition at line 523 of file pthread_tools.hpp.
1.7.1