Gets or sets level of concurrency.
Threads Library (libthreads.a)
#include <pthread.h>
int pthread_getconcurrency (void); int pthread_setconcurrency (int new_level);
The pthread_setconcurrency function allows an application to inform the threads implementation of its desired concurrency level, new_level. The actual level of concurrency provided by the implementation as a result of this function call is unspecified.
If new_level is zero, it causes the implementation to maintain the concurrency level at its discretion as if pthread_setconcurrency was never called.
The pthread_getconcurrency function returns the value set by a previous call to the pthread_setconcurrency function. If the pthread_setconcurrency function was not previously called, this function returns zero to indicate that the implementation is maintaining the concurrency level.
When an application calls pthread_setconcurrency it is informing the implementation of its desired concurrency level. The implementation uses this as a hint, not a requirement.
If successful, the pthread_setconcurrency function returns zero. Otherwise, an error number is returned to indicate the error.
The pthread_getconcurrency function always returns the concurrency level set by a previous call to pthread_setconcurrency. If the pthread_setconcurrency function has never been called, pthread_getconcurrency returns zero.
The pthread_setconcurrency function will fail if:
EINVAL | The value specified by new_level is negative. |
EAGAIN | The value specific by new_level would cause a system resource to be exceeded. |
Use of these functions changes the state of the underlying concurrency upon which the application depends. Library developers are advised to not use the pthread_getconcurrency and pthread_setconcurrency functions since their use may conflict with an applications use of these functions.
The pthread.h file.