【并发编程】pthread_setconcurrency的作用

线程同步----条件变量,pthread_cond_wait()与pthread_cond_signal()到底干了什么

PTHREAD_SETCONCURRENCY(3)                                                                 Linux Programmer's Manual                                                                 PTHREAD_SETCONCURRENCY(3)

NAME
       pthread_setconcurrency, pthread_getconcurrency - set/get the concurrency 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-2001 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.

NOTES
       The default concurrency level is 0.

       Concurrency  levels are meaningful only for M:N threading implementations, 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 appli‐
       cation.

       Both  LinuxThreads  and  NPTL  are 1:1 threading implementations, so setting 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 3.53 of the Linux man-pages project.  A description 
of the project, and information about reporting bugs, can be found at 
http://www.kernel.org/doc/man-pages/.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值