Navn |
Noter
|
int thrd_create(thrd_t *thr, thrd_start_t func, void *arg) |
opretter en ny tråd, der udfører func med argumenter arg, og sætter dens identifikator i thr
|
int thrd_equal(thrd_t lhs, thrd_t rhs) |
tjekker om lhs peger på samme strøm som rhs
|
thrd_t thrd_current(void) |
returnerer ID'et for den aktuelle tråd
|
int thrd_sleep(const struct timespec* duration, struct timespec* remaining) |
stopper den aktuelle tråd for varighed, sætter den resterende tid, før arbejdet genoptages, i resterende,
|
void thrd_yield(void) |
giver opgaveplanlæggeren et hint om at omplanlægge udførelsen af tråde, så andre tråde kan køre
|
_Noreturn void thrd_exit(int res) |
afslutter udførelsen af den aktuelle tråd ved at sætte dens returkode til res
|
int thrd_detach(thrd_t thr) |
adskiller strømmen identificeret af thr fra det aktuelle miljø.
|
int thrd_join(thrd_t thr, int *res) |
venter på, at tråden identificeret af thr afsluttes, og placerer dens udførelseskode i res
|
int mtx_init(mtx_t* mutex, int type) |
opretter en mutex af typen ved at placere dens identifikator i variablen, som mutexen peger på
|
int mtx_lock(mtx_t* mutex) |
stopper den aktuelle tråd, indtil den mutex, der peges på af mutex, er låst op
|
int mtx_timedlock(mtx_t *restrict mutex, const struct timespec *restrict time_point) |
stopper den aktuelle tråd, indtil den mutex, der peges på af mutex, er låst op, eller indtil det tidspunkt, der peges på af time_point, er nået
|
int mtx_trylock(mtx_t *mutex) |
låser mutex'en, hvis den ikke allerede er låst
|
int mtx_unlock(mtx_t *mutex) |
låser den mutex op, der peges på af mutex
|
int mtx_destroy(mtx_t *mutex) |
ødelægger den mutex, der peges på af mutex
|
void call_once(once_flag* flag, void (*func)(void) func) |
opkald fungerer nøjagtigt én gang, selvom de kaldes fra flere tråde
|
int cnd_init(cnd_t* cond) |
opretter en betingelsesvariabel ved at sætte dens id i cond
|
int cnd_signal(cnd_t *cond) |
ophæver blokering af én tråd, der venter på tilstandsvariablen, der peges på af cond
|
int cnd_wait(cnd_t* cond, mtx_t* mutex) |
låser den mutex, der peges på af mutex, og låser tilstandsvariablen, der peges på af cond, indtil tråden rapporterer cnd_signal eller cnd_broadcast, eller der opstår en falsk wakeup
|
int cnd_timedwait( cnd_t* restrict cond, mtx_t* restrict mutex, const struct timespec* restrict time_point ) |
låser den mutex, der peges på af mutex, og låser tilstandsvariablen, der peges på af cond, indtil tråden rapporterer cnd_signal eller cnd_broadcast, eller indtil det tidspunkt, der peges på af time_point, er nået, eller indtil en falsk wakeup opstår
|
void cnd_destroy(cnd_t* cond); |
ødelægger tilstandsvariablen, der peges på af kond
|
int tss_create(tss_t* tss_key, tss_dtor_t destructor) |
opretter lokalt trådlager med den givne destructor-destruktor og sætter dens identifikator i variablen, der peges på af tss_key
|
void *tss_get(tss_t tss_key) |
returnerer de data, der er indeholdt i trådens lokale lager, identificeret med tts_key
|
int tss_set(tss_t tss_id, void *val) |
indstiller værdien gemt i tråd lokalt lager identificeret af tts_key til val
|
void tss_delete(tss_t tss_id) |
ødelægger trådlokalt lager identificeret af tts_id
|