< c‎ | thread
Defined in header <threads.h>
int thrd_create( thrd_t *thr, thrd_start_t func, void *arg );
(since C11)

Creates a new thread executing the function func. The function is invoked as func(arg).

If successful, the object pointed to by thr is set to the identifier of the new thread.

The completion of this function synchronizes-with the beginning of the thread.


[edit] Parameters

thr - pointer to memory location to put the identifier of the new thread
func - function to execute
arg - argument to pass to the function

[edit] Return value

thrd_success if the creation of the new thread was successful. Otherwise returns thrd_nomem if there was insufficient amount of memory or thrd_error if another error occurred.

[edit] Notes

The thread identifiers may be reused for new threads once the thread has finished and joined or detached.

The type thrd_start_t is a typedef of int(*)(void*), which differs from the POSIX equivalent void*(*)(void*)

[edit] See also

detaches a thread
blocks until a thread terminates