PTHREAD_GETCONCURRE... FreeBSD Library Functions Manual PTHREAD_GETCONCURRE...
pthread_getconcurrency, pthread_setconcurrency -- get or set level of
Reentrant C Library (libc_r, -lc_r)
The pthread_getconcurrency() 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 specified 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 application's use of these
The pthread_getconcurrency() and pthread_setconcurrency() functions conform
to Version 2 of the Single UNIX Specification (``SUSv2'').
FreeBSD 5.2.1 April 11, 2003 FreeBSD 5.2.1 [ Back ]