*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> pthread_yield_np (3)              
Title
Content
Arch
Section
 

pthread_yield_np(3)

Contents


NAME    [Toc]    [Back]

       pthread_yield_np - Notifies the scheduler that the current
       thread is  willing  to  release  its  processor  to  other
       threads of the same or higher priority

SYNOPSIS    [Toc]    [Back]

       #include <pthread.h>

       int pthread_yield_np(
               void );

LIBRARY    [Toc]    [Back]

       DECthreads POSIX 1003.1c Library (libpthread.so)

STANDARDS    [Toc]    [Back]

       Interfaces  documented  on  this reference page conform to
       industry standards as follows:

       IEEE Std 1003.1c-1995, POSIX  System  Application  Program
       Interface

PARAMETERS    [Toc]    [Back]

       None

DESCRIPTION    [Toc]    [Back]

       This  routine  notifies the thread scheduler that the current
 thread is willing to release its processor  to  other
       threads  of  equivalent  or greater scheduling precedence.
       (A thread generally will release its processor to a thread
       of  a  greater  scheduling precedence without calling this
       routine.) If no other threads  of  equivalent  or  greater
       scheduling  precedence  are  ready  to execute, the thread
       continues.

       This routine can allow knowledge  of  the  details  of  an
       application  to  be  used to improve its performance. If a
       thread does not call  pthread_yield_np(3),  other  threads
       may  be  given  the opportunity to run at arbitrary points
       (possibly  even  when  the  interrupted  thread  holds   a
       required   resource).    By   making  strategic  calls  to
       pthread_yield_np(3), other threads may be given the opportunity
  to  run when the resources are free. This improves
       performance by reducing contention for the resource.

       As a general  guideline,  consider  calling  this  routine
       after  a  thread has released a resource (such as a mutex)
       which is heavily contended for by other threads. This  can
       be  especially  important  if  the program is running on a
       uniprocessor  machine,  or  if  the  thread  acquires  and
       releases the resource inside a tight loop.

       Use  this  routine carefully and sparingly, because misuse
       can  cause  unnecessary  context  switching   which   will
       increase  overhead  and actually degrade performance.  For
       example, it is counter-productive for a  thread  to  yield
       while it holds a resource which the threads to which it is
       yielding will need. Likewise, it  is  pointless  to  yield
       unless there is likely to be another thread which is ready
       to run.



RETURN VALUES    [Toc]    [Back]

       If an error condition  occurs,  this  routine  returns  an
       integer  value  indicating  the  type  of  error. Possible
       return values are as follows: Successful completion.   The
       routine is not supported by this implementation.

ERRORS    [Toc]    [Back]

       None

SEE ALSO    [Toc]    [Back]

      
      
       Functions:                  pthread_attr_setschedparam(3),
       pthread_setschedparam(3), pthread_getscheduler(3)

       Manuals: Guide to DECthreads and Programmer's Guide



                                              pthread_yield_np(3)
[ Back ]
 Similar pages
Name OS Title
sched_yield Tru64 Signals scheduler a willingness to yield to another thread
pset_bind HP-UX bind process or thread to a processor set
pthread_setspecific Tru64 Sets the thread-specific data value associated with the specified key for the current thread
glccontext IRIX make a context current to a thread
pthread_yield OpenBSD yield control of the current thread
thread_exit FreeBSD abandon current thread context
tt_thread_session_set HP-UX set the default session identifier for the current thread
mpsleep Tru64 General: Blocks the current kernel thread
select_enqueue Tru64 General: Adds the current kernel thread
thread_set_timeout Tru64 General: Sets a timer for the current kernel thread
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service