GENWiki

Premier IT Outsourcing and Support Services within the UK

User Tools

Site Tools


man:pthread_getconcurrency

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).
     allbox;  lbw25  lb lb l l l.  Interface Attribute Value T{ pthread_set-
     concurrency(), pthread_getconcurrency() T}   Thread safety  MT-Safe

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)

/data/webs/external/dokuwiki/data/pages/man/pthread_getconcurrency.txt · Last modified: 2019/05/17 09:47 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki