Classes | |
class | thread_body_wrapper |
class | thread_group |
Typedefs | |
typedef boost::thread | thread |
typedef boost::mutex | mutex |
typedef boost::unique_lock< boost::mutex > | scoped_lock |
typedef boost::condition_variable | condition_variable |
typedef boost::barrier | barrier |
typedef pthread_t | gr_thread_t |
a system-dependent typedef for the underlying thread type. More... | |
Functions | |
GR_RUNTIME_API gr_thread_t | get_current_thread_id () |
Get the current thread's ID as a gr_thread_t. More... | |
GR_RUNTIME_API void | thread_bind_to_processor (const std::vector< int > &mask) |
Bind the current thread to a set of cores. More... | |
GR_RUNTIME_API void | thread_bind_to_processor (int n) |
Convineince function to bind the current thread to a single core. More... | |
GR_RUNTIME_API void | thread_bind_to_processor (gr_thread_t thread, const std::vector< int > &mask) |
Bind a thread to a set of cores. More... | |
GR_RUNTIME_API void | thread_bind_to_processor (gr_thread_t thread, unsigned int n) |
Convineince function to bind the a thread to a single core. More... | |
GR_RUNTIME_API void | thread_unbind () |
Remove any thread-processor affinity for the current thread. More... | |
GR_RUNTIME_API void | thread_unbind (gr_thread_t thread) |
Remove any thread-processor affinity for a given thread ID. More... | |
GR_RUNTIME_API int | thread_priority (gr_thread_t thread) |
get current thread priority for a given thread ID More... | |
GR_RUNTIME_API int | set_thread_priority (gr_thread_t thread, int priority) |
set current thread priority for a given thread ID More... | |
GR_RUNTIME_API void | set_thread_name (gr_thread_t thread, std::string name) |
GR_RUNTIME_API void | mask_signals () |
typedef boost::barrier gr::thread::barrier |
typedef boost::condition_variable gr::thread::condition_variable |
typedef pthread_t gr::thread::gr_thread_t |
a system-dependent typedef for the underlying thread type.
typedef boost::mutex gr::thread::mutex |
typedef boost::unique_lock<boost::mutex> gr::thread::scoped_lock |
typedef boost::thread gr::thread::thread |
GR_RUNTIME_API gr_thread_t gr::thread::get_current_thread_id | ( | ) |
Get the current thread's ID as a gr_thread_t.
We use this when setting the thread affinity or any other low-level thread settings. Can be called within a GNU Radio block to get a reference to its current thread ID.
GR_RUNTIME_API void gr::thread::mask_signals | ( | ) |
Referenced by gr::thread::thread_body_wrapper< F >::operator()().
GR_RUNTIME_API void gr::thread::set_thread_name | ( | gr_thread_t | thread, |
std::string | name | ||
) |
GR_RUNTIME_API int gr::thread::set_thread_priority | ( | gr_thread_t | thread, |
int | priority | ||
) |
set current thread priority for a given thread ID
Referenced by gr::block_detail::output(), and gr::block::processor_affinity().
GR_RUNTIME_API void gr::thread::thread_bind_to_processor | ( | const std::vector< int > & | mask | ) |
Bind the current thread to a set of cores.
Wrapper for system-dependent calls to set the affinity of the current thread to the processor mask. The mask is simply a 1-demensional vector containing the processor or core number from 0 to N-1 for N cores.
Note: this does not work on OSX; it is a nop call since OSX does not support the concept of thread affinity (and what they do support in this way since 10.5 is not what we want or can use in this fashion).
GR_RUNTIME_API void gr::thread::thread_bind_to_processor | ( | int | n | ) |
Convineince function to bind the current thread to a single core.
Wrapper for system-dependent calls to set the affinity of the current thread to a given core from 0 to N-1 for N cores.
Note: this does not work on OSX; it is a nop call since OSX does not support the concept of thread affinity (and what they do support in this way since 10.5 is not what we want or can use in this fashion).
GR_RUNTIME_API void gr::thread::thread_bind_to_processor | ( | gr_thread_t | thread, |
const std::vector< int > & | mask | ||
) |
Bind a thread to a set of cores.
Wrapper for system-dependent calls to set the affinity of the given thread ID to the processor mask. The mask is simply a 1-demensional vector containing the processor or core number from 0 to N-1 for N cores.
Note: this does not work on OSX; it is a nop call since OSX does not support the concept of thread affinity (and what they do support in this way since 10.5 is not what we want or can use in this fashion).
GR_RUNTIME_API void gr::thread::thread_bind_to_processor | ( | gr_thread_t | thread, |
unsigned int | n | ||
) |
Convineince function to bind the a thread to a single core.
Wrapper for system-dependent calls to set the affinity of the given thread ID to a given core from 0 to N-1 for N cores.
Note: this does not work on OSX; it is a nop call since OSX does not support the concept of thread affinity (and what they do support in this way since 10.5 is not what we want or can use in this fashion).
GR_RUNTIME_API int gr::thread::thread_priority | ( | gr_thread_t | thread | ) |
get current thread priority for a given thread ID
Referenced by gr::block_detail::output(), and gr::block::processor_affinity().
GR_RUNTIME_API void gr::thread::thread_unbind | ( | ) |
Remove any thread-processor affinity for the current thread.
Note: this does not work on OSX; it is a nop call since OSX does not support the concept of thread affinity (and what they do support in this way since 10.5 is not what we want or can use in this fashion).
GR_RUNTIME_API void gr::thread::thread_unbind | ( | gr_thread_t | thread | ) |
Remove any thread-processor affinity for a given thread ID.
Note: this does not work on OSX; it is a nop call since OSX does not support the concept of thread affinity (and what they do support in this way since 10.5 is not what we want or can use in this fashion).