Linux 2.6 - man page for pthread_getconcurrency (linux section 3)
|Linux & Unix Commands - Search Man Pages
PTHREAD_SETCONCURRENCY(3) Linux Programmer's Manual PTHREAD_SETCONCURRENCY(3)
pthread_setconcurrency, pthread_getconcurrency - set/get the concurrency level
int pthread_setconcurrency(int new_level);
Compile and link with -pthread.
The pthread_setconcurrency() function informs the implementation of the application's
desired concurrency level, specified in new_level. The implementation takes this only as
a hint: POSIX.1 does not specify the level of concurrency that should be provided as a
result of calling pthread_setconcurrency().
Specifying new_level as 0 instructs the implementation to manage the concurrency level as
it deems appropriate.
pthread_getconcurrency() returns the current value of the concurrency level for this
On success, pthread_setconcurrency() returns 0; on error, it returns a nonzero error num-
pthread_getconcurrency() always succeeds, returning the concurrency level set by a previ-
ous call to pthread_setconcurrency(), or 0, if pthread_setconcurrency() has not previously
pthread_setconcurrency() can fail with the following error:
EINVAL new_level is negative.
POSIX.1-2001 also documents an EAGAIN error ("the value specified by new_level would cause
a system resource to be exceeded").
These functions are available in glibc since version 2.1.
The default concurrency level is 0.
Concurrency levels are meaningful only for M:N threading implementations, where at any
moment a subset of a process's set of user-level threads may be bound to a smaller number
of kernel-scheduling entities. Setting the concurrency level allows the application to
give the system a hint as to the number of kernel-scheduling entities that should be pro-
vided for efficient execution of the application.
Both LinuxThreads and NPTL are 1:1 threading implementations, so setting the concurrency
level has no meaning. In other words, on Linux these functions merely exist for compati-
bility with other systems, and they have no effect on the execution of a program.
This page is part of release 3.55 of the Linux man-pages project. A description of the
project, and information about reporting bugs, can be found at
Linux 2009-04-10 PTHREAD_SETCONCURRENCY(3)
All times are GMT -4. The time now is 07:02 AM.