sched_yield(2)

BEZEICHNUNG
sched_yield - Freigeben des Prozessors

BIBLIOTHEK
Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT
#include <sched.h>

int sched_yield(void);

BESCHREIBUNG
sched_yield() führt dazu, dass der aufrufende Thread die CPU aufgibt. Der Thread wird ans Ende der Laufwarteschlange für seine statische Priorität verschoben und ein neuer Thread wird zur Ausführung eingeplant.

RÜCKGABEWERT
Im Erfolgsfall liefert sched_yield() 0 zurück, im Fehlerfall wird -1 zurückgeliefert und errno gesetzt, um den Fehler anzuzeigen.

FEHLER
In der Linux-Implementierung ist sched_yield() immer erfolgreich.

STANDARDS
POSIX.1-2024.

GESCHICHTE
POSIX.1-2001 (aber optional). POSIX.1-2008.

Vor POSIX.1-2008 definierten Systeme, auf denen sched_yield() verfügbar ist, _POSIX_PRIORITY_SCHEDULING in <unistd.h>.

WARNUNGEN
sched_yield() ist für die Verwendung mit Echtzeit-Scheduling-Richtlinien gedacht (d.h. SCHED_FIFO oder SCHED_RR). Die Verwendung von pthread_yield() mit nichtdeterministischen Scheduling-Richtlinien wie SCHED_OTHER ist nicht festgelegt und bedeutet höchstwahrscheinlich, dass Ihr Anwendungs-Design defekt ist.

Falls der aufrufende Thread zu dem Zeitpunkt der einzige Thread in der höchsten Prioritätsliste ist, wird er weiter nach dem Aufruf von sched_yield() ausgeführt.

Vermeiden Sie unnötige und unpassende Aufrufe von sched_yield() (z.B. wenn die von anderen einplanbaren Threads benötigten Ressourcen vom aufrufenden Thread weiterhin gehalten werden), da dies zu unnötigen Kontextwechseln führt, die die Systemleistung reduziert.

SIEHE AUCH
sched(7)

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer (debian-l10n-german@lists.debian.org).