SimGrid
3.7
Scalable simulation of distributed systems
|
XBT synchronization tools. More...
Typedefs | |
typedef struct s_xbt_thread_ * | xbt_thread_t |
Thread data type (opaque object) | |
typedef struct s_xbt_mutex_ * | xbt_mutex_t |
Thread mutex data type (opaque object) | |
typedef struct s_xbt_cond_ * | xbt_cond_t |
Thread condition data type (opaque object) | |
Functions | |
xbt_thread_t | xbt_thread_create (const char *name, void_f_pvoid_t start_routine, void *param, int joinable) |
Creates a new thread. | |
xbt_thread_t | xbt_thread_self (void) |
Get a reference to the currently running thread. | |
const char * | xbt_thread_name (xbt_thread_t t) |
Get the name of a given thread. | |
const char * | xbt_thread_self_name (void) |
Get a reference to the name of the currently running thread. | |
void | xbt_thread_join (xbt_thread_t thread) |
Wait for the termination of the given thread, and free it (ie the XBT wrapper around it, the OS frees the rest) | |
void | xbt_thread_cancel (xbt_thread_t thread) |
Ends the life of the poor victim (not always working if it's computing, but working if it's blocked in the OS) | |
void | xbt_thread_exit (void) |
commit suicide | |
void | xbt_thread_yield (void) |
the current thread passes control to any possible thread wanting it | |
xbt_mutex_t | xbt_mutex_init (void) |
Creates a new mutex variable. | |
void | xbt_mutex_acquire (xbt_mutex_t mutex) |
Blocks onto the given mutex variable. | |
void | xbt_mutex_release (xbt_mutex_t mutex) |
Releases the given mutex variable. | |
void | xbt_mutex_timedacquire (xbt_mutex_t mutex, double delay) |
Blocks onto the given mutex variable, but only for the given amount of time. a timeout exception is raised if it was impossible to acquire it in the given time frame. | |
void | xbt_mutex_destroy (xbt_mutex_t mutex) |
Destroyes the given mutex variable. | |
xbt_cond_t | xbt_cond_init (void) |
Creates a condition variable. | |
void | xbt_cond_wait (xbt_cond_t cond, xbt_mutex_t mutex) |
Blocks onto the given condition variable. | |
void | xbt_cond_timedwait (xbt_cond_t cond, xbt_mutex_t mutex, double delay) |
Blocks onto the given condition variable, but only for the given amount of time. a timeout exception is raised if it was impossible to acquire it in the given time frame. | |
void | xbt_cond_signal (xbt_cond_t cond) |
Signals the given mutex variable. | |
void | xbt_cond_broadcast (xbt_cond_t cond) |
Broadcasts the given mutex variable. | |
void | xbt_cond_destroy (xbt_cond_t cond) |
Destroys the given mutex variable. |
XBT synchronization tools.
This section describes the XBT synchronization tools. It defines types and functions very close to the pthread API, but widly usable. When used from the simulator, you will lock simulated processes as expected. When used from GRAS programs compiled for in-situ execution, you have synchronization mecanism portable to windows and UNIX. Nice, isn't it?
xbt_thread_t xbt_thread_create | ( | const char * | name, |
void_f_pvoid_t | start_routine, | ||
void * | param, | ||
int | joinable | ||
) |
Creates a new thread.
name | the name used in the logs for the newly created thread |
start_routine | function to run |
param | parameter to pass to the function to run |
joinable | whether the new thread should be started joinable or detached |
Back to the main Simgrid Documentation page |
The version of SimGrid documented here is v3.7. Documentation of other versions can be found in their respective archive files (directory doc/html). |
Generated by ![]() |