Chinaunix首页 | 论坛 | 博客
  • 博客访问: 427631
  • 博文数量: 103
  • 博客积分: 5010
  • 博客等级: 大校
  • 技术积分: 971
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-11 17:22
文章分类
文章存档

2008年(77)

2007年(26)

我的朋友

分类: LINUX

2008-04-08 16:01:28

fedora7 pthread_getconcurrecy and pthread_setconcurrency function

SYNOPSIS
       #include

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

DESCRIPTION
       Unbound threads in a process may or may not be required to be  simulta-
       neously  active.  By default, the threads implementation ensures that a
       sufficient number of threads are active so that the  process  can  con-
       tinue  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 implementation 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 con-
       currency 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 previously called, this func-
       tion shall return zero to indicate that the implementation is maintain-
       ing the concurrency level.

       A  call  to pthread_setconcurrency() shall inform the implementation of
       its desired concurrency 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 kernel-scheduled entities, the  pthread_setconcurrency()
       and  pthread_getconcurrency()  functions  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.

RETURN 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  concur-
       rency  level set by a previous call to pthread_setconcurrency(). If the
       pthread_setconcurrency() function has never been  called,  pthread_get-
       concurrency() shall return zero.

ERRORS
       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].




阅读(1361) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~