Provided by: manpages-fr-dev_4.15.0-9_all bug

NOM

       sched_yield - Céder le processeur

SYNOPSIS

       #include <sched.h>

       int sched_yield(void);

DESCRIPTION

       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. En  cas  d'erreur,  -1  est  renvoyé  et  errno  est
       positionné pour indiquer l'erreur.

ERREURS

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

CONFORMITÉ

       POSIX.1-2001, POSIX.1-2008.

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.

       sched_yield() est conçu pour une utilisation avec des politiques d'ordonnancement en temps
       réel (à savoir SCHED_FIFO ou SCHED_RR). L'utilisation de sched_yield() avec des politiques
       d'ordonnancement  non  déterministes  telles que SCHED_OTHER n'est pas recommandée et elle
       veut très probablement dire que votre structure d'application est cassée.

VOIR AUSSI

       sched(7)

COLOPHON

       Cette page fait partie de la publication 5.13 du projet man-pages Linux.  Une  description
       du  projet et des instructions pour signaler des anomalies et la dernière version de cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

       La traduction française de cette  page  de  manuel  a  été  créée  par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,  Stéphan  Rafin  <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain  Portal  <aportal@univ-montp2.fr>,
       Jean-Philippe    Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-
       luc.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier   <barbier@debian.org>,   David   Prévot  <david@tilapin.org>,  Cédric  Boutillier
       <cedric.boutillier@gmail.com>, Frédéric Hantrais  <fhantrais@gmail.com>  et  Jean-Philippe
       MENGUAL <jpmengual@debian.org>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General
       Public  License  version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   concernant   les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.