From 3ec5c9995f9c5611292bd18211fce9402efcb663 Mon Sep 17 00:00:00 2001 From: "Staysail Systems, Inc" Date: Sun, 26 Nov 2023 13:06:39 -0800 Subject: v1.6.0 docs --- man/v1.6.0/nng_thread_create.3supp.html | 156 ++++++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 man/v1.6.0/nng_thread_create.3supp.html (limited to 'man/v1.6.0/nng_thread_create.3supp.html') diff --git a/man/v1.6.0/nng_thread_create.3supp.html b/man/v1.6.0/nng_thread_create.3supp.html new file mode 100644 index 00000000..aa66df95 --- /dev/null +++ b/man/v1.6.0/nng_thread_create.3supp.html @@ -0,0 +1,156 @@ +--- +version: v1.6.0 +layout: manpage_v2 +title: nng_thread_create(3supp) +--- +

nng_thread_create(3supp)

+
+

NAME

+
+
+

nng_thread_create - create thread

+
+
+
+
+

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 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 wait synchronously for completion.

+
+
+

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.)

+
+
+ + + + + +
+ + +Thread objects created by this function may not be real system +level threads capable of performing blocking I/O operations using normal blocking +system calls. +If use of blocking system calls is required (not including APIs provided +by the NNG library itself of course), then real OS-specific threads +should be created instead (such as with pthread_create() or similar +functions.) +
+
+
+ + + + + +
+ + +Thread objects created by this function cannot be passed +to any system threading functions. +
+
+
+ + + + + +
+ + +The system may impose limits on the number of threads that can be +created. +Typically applications should not create more than a dozen of these. +If greater concurrency or scalability is needed, consider instead using +an asynchronous model using nng_aio structures. +
+
+
+ + + + + +
+ + +Threads can be synchronized using +mutexes and +condition variables. +
+
+
+
+
+

RETURN VALUES

+
+
+

This function returns 0 on success, and non-zero otherwise.

+
+
+
+
+

ERRORS

+
+
+ + + + + +
+NNG_ENOMEM + +

Insufficient free memory exists.

+
+
+
+
+
+

SEE ALSO

+ +
-- cgit v1.2.3-70-g09d2