Loading

NOM

       sched_yield - Céder le processeur.

SYNOPSIS

       #include <sched.h>

       int sched_yield(void);

       sched_yield()  force le thread appelant à libérer le CPU. Le thread est
       déplacé à la fin de la liste des processus prêts de sa priorité, et  un
       autre thread sera exécuté.

VALEUR RENVOYÉE

       sched_yield() renvoie 0 s’il réussit ou -1 s’il échoue auquel cas errno
       contient le code d’erreur.

ERREURS

       L’implémentation Linux de sched_yield() réussit toujours.

CONFORMITÉ

       POSIX.1-2001.

NOTES

       Si le thread appelant est le seul avec la priorité la  plus  élevée  au
       moment  de  l’appel,  il  continuera  son  exécution  après  un appel à
       sched_yield().

       Les  systèmes  POSIX  sur   lesquels   sched_yield()   est   disponible
       définissent _POSIX_PRIORITY_SCHEDULING dans <unistd.h>.

       Des   appels   stratégiques   à  sched_yield()  peuvent  améliorer  les
       performances en donnant à d’autres thread ou processus  une  chance  de
       s’exécuter  quand  des  ressources  (très)  demandées (par exemple, des
       mutex) sont libérées par l’appelant. Évitez d’appeler sched_yield()  si
       ce  n’est pas nécessaire ou inapproprié (par exemple, si les ressources
       nécessaires pour d’autres threads pouvant être ordonnancés sont  encore
       tenues   par   l’appelant),  puisqu’en  faisant  ainsi  provoquera  des
       changements  de  contexte   non   nécessaire,   qui   dégraderont   les
       performances du système.

VOIR AUSSI

       sched_setscheduler(2)  pour  une  description  de l’ordonnancement sous
       Linux.

       Programming for the real  world  -  POSIX.4  de  Bill  O.  Gallmeister,
       O’Reilly & Associates, Inc., ISBN 1-56592-074-0

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.23 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       être       trouvées      à      l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette page de manuel a été traduite  et  mise  à  jour  par  Christophe
       Blaess  <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
       Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et  mise  à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Julien Cristau <jcristau@debian.org> et l’équipe
       francophone de traduction de Debian.

       Veuillez   signaler   toute   erreur   de   traduction  en  écrivant  à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « man -L C <section> <page_de_man> ».