wie kann ein thread sich schlafen legen?

M

minipig

Doppel-As
hallo!!

ein thread kriegt doch kein timer-interrupt, also :
wie kann ein thread sich schlafen legen?
vielleicht bin ich ja blind, aber ich hab in den man-pages keine passende prozedur finden können.
ist das in der praxis überhaupt relevant oder geht man einfach davon aus, daß der thread in einigen nanosekunden sowieso blockiert?

by minipig ?( :(
 
Zuletzt bearbeitet:
Vielleicht verstehe ich die Frage ja nicht, aber warum sollten sleep() oder usleep() nicht funktionieren?
 
Entweder so oder du kannst dich z.B. auf eine condition schlafen legen.
z.B. pthread_cond_wait
 
vielen dank an beide!!

ps.: allerdings wäre eine antwort auf meine 2.frage nicht schlecht: wenn ein thread zb. realtime-packete entgegennimmt, die alle 25ns abgeschickt werden, wird er doch eh blockiert , wenn er auf input wartet (also alle 25ns) und braucht sich also nicht selbst schlafen zu legen. ist das also nur theorie, das ein thread sich selbst schlafen legen sollte, oder spielt es in der praxis eine rolle?
 
Zuletzt bearbeitet:
Wenn ein Thread auf Input wartet und dies mit einem blocking read macht, dann schläft er wirklich von selbst und wird vom Kernel wieder aufgeweckt, wenn der Input da ist.
Die 25 ns kommen mir auf Anhieb etwas kurz vor. Was sind denn das für Pakete?
 
Wenn ein Thread auf Input wartet und dies mit einem blocking read macht, dann schläft er wirklich von selbst und wird vom Kernel wieder aufgeweckt, wenn der Input da ist.
Die 25 ns kommen mir auf Anhieb etwas kurz vor. Was sind denn das für Pakete?
vielen dank für die antwort! 25ns hatte ich gelesen bei real-time-packeten, die wohl wirklich sehr klein sind.
 

Ähnliche Themen

MacBook Pro hat Benutzer-Konten vergessen

Festplatte friert ein nach suspend/resume

Routing Problematik

Probleme mit IRQ

OpenSuse 12.3 / Tiefschlaf funktioniert nicht

Zurück
Oben