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
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 process.
On success, pthread_setconcurrency() returns 0; on error, it returns a
nonzero error number.
pthread_getconcurrency() always succeeds, returning the concurrency
level set by a previous call to pthread_setconcurrency(), or 0, if
pthread_setconcurrency() has not previously been called.
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 implementa-
tions, 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
provided for efficient execution of the application.
be found at http://www.kernel.org/doc/man-pages/.
Linux 2009-04-10 PTHREAD_SETCONCURRENCY(3)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2019
All Rights Reserved.