man:pthread_setconcurrency
PTHREAD_SETCONCURRENCY(3) Linux Programmer's Manual PTHREAD_SETCONCURRENCY(3)
NAME
pthread_setconcurrency, pthread_getconcurrency - set/get the concur- rency level
SYNOPSIS
#include <pthread.h>
int pthread_setconcurrency(int new_level); int pthread_getconcurrency(void);
Compile and link with -pthread.
DESCRIPTION
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 process.
RETURN VALUE
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.
ERRORS
pthread_setconcurrency() can fail with the following error:
EINVAL new_level is negative.
POSIX.1 also documents an EAGAIN error ("the value specified by new_level would cause a system resource to be exceeded").
VERSIONS
These functions are available in glibc since version 2.1.
ATTRIBUTES
For an explanation of the terms used in this section, see attributes(7).
+--------------------------+---------------+---------+ |Interface | Attribute | Value | +--------------------------+---------------+---------+ |pthread_setconcurrency(), | Thread safety | MT-Safe | |pthread_getconcurrency() | | | +--------------------------+---------------+---------+
CONFORMING TO
POSIX.1-2001, POSIX.1-2008.
NOTES
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.
Both LinuxThreads and NPTL are 1:1 threading implementations, so set- ting the concurrency level has no meaning. In other words, on Linux these functions merely exist for compatibility with other systems, and they have no effect on the execution of a program.
SEE ALSO
pthread_attr_setscope(3), pthreads(7)
COLOPHON
This page is part of release 4.16 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.
Linux 2017-09-15 PTHREAD_SETCONCURRENCY(3)
/home/gen.uk/domains/wiki.gen.uk/public_html/data/pages/man/pthread_setconcurrency.txt · Last modified: 2019/05/17 09:47 by 127.0.0.1