mirror of https://github.com/mkerrisk/man-pages
116 lines
4.3 KiB
Plaintext
116 lines
4.3 KiB
Plaintext
.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
|
|
.TH "PTHREAD_GETCONCURRENCY" 3P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
|
|
.\" pthread_getconcurrency
|
|
.SH PROLOG
|
|
This manual page is part of the POSIX Programmer's Manual.
|
|
The Linux implementation of this interface may differ (consult
|
|
the corresponding Linux manual page for details of Linux behavior),
|
|
or the interface may not be implemented on Linux.
|
|
.SH NAME
|
|
pthread_getconcurrency, pthread_setconcurrency \- get and set the level
|
|
of concurrency
|
|
.SH SYNOPSIS
|
|
.LP
|
|
\fB#include <pthread.h>
|
|
.br
|
|
.sp
|
|
int pthread_getconcurrency(void);
|
|
.br
|
|
int pthread_setconcurrency(int\fP \fInew_level\fP\fB); \fP
|
|
\fB
|
|
.br
|
|
\fP
|
|
.SH DESCRIPTION
|
|
.LP
|
|
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.
|
|
.LP
|
|
The \fIpthread_setconcurrency\fP() function allows an application
|
|
to inform the threads implementation of its desired
|
|
concurrency level, \fInew_level\fP. The actual level of concurrency
|
|
provided by the implementation as a result of this function
|
|
call is unspecified.
|
|
.LP
|
|
If \fInew_level\fP is zero, it causes the implementation to maintain
|
|
the concurrency level at its discretion as if
|
|
\fIpthread_setconcurrency\fP() had never been called.
|
|
.LP
|
|
The \fIpthread_getconcurrency\fP() function shall return the value
|
|
set by a previous call to the
|
|
\fIpthread_setconcurrency\fP() function. If the \fIpthread_setconcurrency\fP()
|
|
function was not previously called, this function
|
|
shall return zero to indicate that the implementation is maintaining
|
|
the concurrency level.
|
|
.LP
|
|
A call to \fIpthread_setconcurrency\fP() shall inform the implementation
|
|
of its desired concurrency level. The implementation
|
|
shall use this as a hint, not a requirement.
|
|
.LP
|
|
If an implementation does not support multiplexing of user threads
|
|
on top of several kernel-scheduled entities, the
|
|
\fIpthread_setconcurrency\fP() and \fIpthread_getconcurrency\fP()
|
|
functions are provided for source code compatibility but they
|
|
shall have no effect when called. To maintain the function semantics,
|
|
the \fInew_level\fP parameter is saved when
|
|
\fIpthread_setconcurrency\fP() is called so that a subsequent call
|
|
to \fIpthread_getconcurrency\fP() shall return the same
|
|
value.
|
|
.SH RETURN VALUE
|
|
.LP
|
|
If successful, the \fIpthread_setconcurrency\fP() function shall return
|
|
zero; otherwise, an error number shall be returned to
|
|
indicate the error.
|
|
.LP
|
|
The \fIpthread_getconcurrency\fP() function shall always return the
|
|
concurrency level set by a previous call to
|
|
\fIpthread_setconcurrency\fP(). If the \fIpthread_setconcurrency\fP()
|
|
function has never been called,
|
|
\fIpthread_getconcurrency\fP() shall return zero.
|
|
.SH ERRORS
|
|
.LP
|
|
The \fIpthread_setconcurrency\fP() function shall fail if:
|
|
.TP 7
|
|
.B EINVAL
|
|
The value specified by \fInew_level\fP is negative.
|
|
.TP 7
|
|
.B EAGAIN
|
|
The value specific by \fInew_level\fP would cause a system resource
|
|
to be exceeded.
|
|
.sp
|
|
.LP
|
|
These functions shall not return an error code of [EINTR].
|
|
.LP
|
|
\fIThe following sections are informative.\fP
|
|
.SH EXAMPLES
|
|
.LP
|
|
None.
|
|
.SH APPLICATION USAGE
|
|
.LP
|
|
Use of these functions changes the state of the underlying concurrency
|
|
upon which the application depends. Library developers
|
|
are advised to not use the \fIpthread_getconcurrency\fP() and \fIpthread_setconcurrency\fP()
|
|
functions since their use may
|
|
conflict with an applications use of these functions.
|
|
.SH RATIONALE
|
|
.LP
|
|
None.
|
|
.SH FUTURE DIRECTIONS
|
|
.LP
|
|
None.
|
|
.SH SEE ALSO
|
|
.LP
|
|
The Base Definitions volume of IEEE\ Std\ 1003.1-2001, \fI<pthread.h>\fP
|
|
.SH COPYRIGHT
|
|
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 original Standard can be obtained online at
|
|
http://www.opengroup.org/unix/online.html .
|