Unix/Linux Go Back    

Linux 2.6 - man page for pthread_setconcurrency (linux section 3posix)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


       pthread_getconcurrency, pthread_setconcurrency - get and set the level of concurrency

       #include <pthread.h>

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

       Unbound	threads  in  a process may or may not be required to be simultaneously active. By
       default, the threads implementation ensures that a sufficient number of threads are active
       so  that the process can continue to make progress. While this conserves system resources,
       it may not produce the most effective level of concurrency.

       The pthread_setconcurrency() function allows an application to inform the  threads  imple-
       mentation  of  its  desired  concurrency level, new_level. The actual level of concurrency
       provided by the implementation as a result of this function call is unspecified.

       If new_level is zero, it causes the implementation to maintain the  concurrency	level  at
       its discretion as if pthread_setconcurrency() had never been called.

       The pthread_getconcurrency() function shall return the value set by a previous call to the
       pthread_setconcurrency() function. If the pthread_setconcurrency() function was not previ-
       ously called, this function shall return zero to indicate that the implementation is main-
       taining the concurrency level.

       A call to pthread_setconcurrency() shall inform the implementation of its desired  concur-
       rency level. The implementation shall use this as a hint, not a requirement.

       If  an implementation does not support multiplexing of user threads on top of several ker-
       nel-scheduled entities, the pthread_setconcurrency()  and  pthread_getconcurrency()  func-
       tions  are  provided  for  source  code	compatibility  but they shall have no effect when
       called. To maintain  the  function  semantics,  the  new_level  parameter  is  saved  when
       pthread_setconcurrency()  is  called so that a subsequent call to pthread_getconcurrency()
       shall return the same value.

       If successful, the pthread_setconcurrency() function  shall  return  zero;  otherwise,  an
       error number shall be returned to indicate the error.

       The  pthread_getconcurrency()  function shall always return the concurrency level set by a
       previous call to pthread_setconcurrency(). If the  pthread_setconcurrency()  function  has
       never been called, pthread_getconcurrency() shall return zero.

       The pthread_setconcurrency() function shall fail if:

       EINVAL The value specified by new_level is negative.

       EAGAIN The value specific by new_level would cause a system resource to be exceeded.

       These functions shall not return an error code of [EINTR].

       The following sections are informative.


       Use  of	these  functions  changes  the state of the underlying concurrency upon which the
       application depends. Library developers are advised  to	not  use  the  pthread_getconcur-
       rency() and pthread_setconcurrency() functions since their use may conflict with an appli-
       cations use of these functions.



       The Base Definitions volume of IEEE Std 1003.1-2001, <pthread.h>

       Portions of this text are reprinted and	reproduced  in	electronic  form  from	IEEE  Std
       1003.1,	2003  Edition,	Standard  for Information Technology -- Portable Operating System
       Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003  by
       the  Institute  of  Electrical  and  Electronics Engineers, Inc and The Open Group. In the
       event of any discrepancy between this version and the original IEEE  and  The  Open  Group
       Standard, the original IEEE and The Open Group Standard is the referee document. The orig-
       inal Standard can be obtained online at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group			       2003			PTHREAD_GETCONCURRENCY(P)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 02:09 PM.