Guten Tag,
mein Programm führt ein Polling auf ein USB Gerät aus (das Gerät ist leider passiv).
Vereinfachter Code:
while(true){
MyClass->PollDevice();
usleep(200); // 200ms warten
}
Das Problem ist das das Programm 100% der CPU zieht. Nun würde ich gerne wissen ob mir jemand ein Beispiel einer Endlosschleife zeigen könnte, die NICHT die komplette CPU auf Dauer belegt.
Ich bin auch schon auf Multithread und Semaphore gestoßen, aber damit bin ich nicht zurecht gekommen, bzw bin ich auf das selbe Resultat gestoßen.
Noch ein paar Fakten zum Programm:
- geschrieben in C++
- OS ist Linux
- es muss alle 200ms ein Poll passieren oder das Gerät schaltet sich in ein Standby modus
- ein Poll dauert ca 100ms
- Das Programm läuft momentan in ein fork()
Danke Sehr :)