NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | ATTRIBUTES | SEE ALSO
cc –mt [ flag... ] file...[ library... ] #include <thread.h>int thr_setconcurrency(int new_level);
Unbound threads in a process may or may not be required to be simultaneously active. See thr_create(3THR). By default, the threads system ensures that a sufficient number of threads are active so that the process can continue to make progress. While this conserves system resources, it may not produce the most effective level of concurrency. thr_setconcurrency() permits the application to give the threads system a hint, specified by new_level, for the desired level of concurrency. The actual number of simultaneously active threads may be larger or smaller than this number. The value for the desired concurrency level may also be affected by creating threads with the THR_NEW_LWP flag set. See thr_create(3THR).
If new_level is 0, the threads system will only ensure that a sufficient number of threads are active so that the process can continue to make progress.
thr_getconcurrency() returns the current value for the desired concurrency level. The actual number of simultaneously active threads may be larger or smaller than this number.
The thr_getconcurrency() function always returns the current value for the desired concurrency level.
If successful, the thr_setconcurrency() function returns 0. Otherwise, a non-zero value is returned to indicate the error.
The thr_setconcurrency() function will fail if:
The specified concurrency level would cause a system resource to be exceeded.
new_level is negative.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
MT-Level | MT-Safe |
NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | ATTRIBUTES | SEE ALSO