SYNOPSIS
#include <nng/nng.h> #include <nng/supplemental/util/platform.h> typedef struct nng_thread nng_thread; int nng_thread_create(nng_thread **thrp, void (*func)(void *), void *arg);
DESCRIPTION
The
nng_thread_create() function creates a single thread of execution,
running func with the argument arg.
The thread is started immediately.
A pointer to the thread object is returned in thrp.
The intention of this program is to facilitate writing parallel programs. Threads created by this program will be based upon the underlying threading mechanism of the system that NNG is running on. This may include use of so-called “green threads” or coroutines.
Using threads created by this function can make it easy to write programs that use simple sequential execution, using functions in the NNG suite that would otherwise normally “block”.
When the thread is no longer needed, the
nng_thread_destroy()
function should be used to reap it.
(This function will block waiting for func to return.)
RETURN VALUES
This function returns 0 on success, and non-zero otherwise.