Turi Create
4.0
|
#include <core/parallel/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. More... | |
static size_t | thread_id () |
static void | set_thread_id (size_t t) |
static any & | get_local (const size_t &id) |
static bool | contains (const size_t &id) |
static size_t | erase (const size_t &id) |
static void | join (thread &other) |
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 856 of file pthread_tools.hpp.
|
inline |
Creates a thread with a user-defined associated thread ID
Definition at line 957 of file pthread_tools.hpp.
|
inlinestatic |
Check to see if there is an entry in the local map
Definition at line 908 of file pthread_tools.hpp.
|
static |
Return the number processing units (individual cores) on this system
|
inlinestatic |
Removes the entry from the local map.
Definition at line 916 of file pthread_tools.hpp.
|
inlinestatic |
Get a reference to an any object
Definition at line 901 of file pthread_tools.hpp.
|
static |
Static helper routines.
Get the thread specific data associated with this thread
|
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.
|
inline |
Join the calling thread with this thread. const char* exceptions thrown by the thread is forwarded to the join() function.
Definition at line 988 of file pthread_tools.hpp.
void turi::thread::launch | ( | const boost::function< void(void)> & | spawn_routine | ) |
execute this function to spawn a new thread running spawn_function routine
void turi::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().
|
inlinestatic |
Set the id of the calling thread. This will typically be the index in the thread group. Between 0 to ncpus.
Definition at line 896 of file pthread_tools.hpp.
|
inlinestatic |
Get the id of the calling thread. This will typically be the index in the thread group. Between 0 to ncpus.
Definition at line 892 of file pthread_tools.hpp.