dwww Home | Manual pages | Find package

pthread_setconcurrency(3)  Library Functions Manual  pthread_setconcurrency(3)

NAME
       pthread_setconcurrency,  pthread_getconcurrency  -  set/get the concur-
       rency level

LIBRARY
       POSIX threads library (libpthread, -lpthread)

SYNOPSIS
       #include <pthread.h>

       int pthread_setconcurrency(int new_level);
       int pthread_getconcurrency(void);

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 since glibc 2.1.

ATTRIBUTES
       For an  explanation  of  the  terms  used  in  this  section,  see  at-
       tributes(7).

       ┌────────────────────────────────────────────┬───────────────┬─────────┐
       │InterfaceAttributeValue   │
       ├────────────────────────────────────────────┼───────────────┼─────────┤
       │pthread_setconcurrency(),                   │ Thread safety │ MT-Safe │
       │pthread_getconcurrency()                    │               │         │
       └────────────────────────────────────────────┴───────────────┴─────────┘

STANDARDS
       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)

Linux man-pages 6.03              2022-12-15         pthread_setconcurrency(3)

Generated by dwww version 1.15 on Mon Jul 1 04:41:59 CEST 2024.