Ausgabe verursacht Aufhänger
-
Hallo,
ich programmiere unter Ubuntu, Maverick. Eine Funktion, die ich als Text-
Progress-Bar verwende, lautet:inline void progressBar(const string& s,unsigned ith,unsigned siz) { float fracDone=static_cast<float>(100*ith)/siz; cout<<"\r "<<s<<":[ "<<fixed<<setprecision(2)<<setw(5)<<fracDone<<" % ] "<<flush<<setprecision(6); cout.unsetf ( ios_base::floatfield ); }
Diese Funktion wird häufig aufgerufen, um die Progress-Bar zu aktualisieren.
Manchmal zu häufig, den zeitweise hört die Applikation für mehrere Sekunden
zu rechnen auf. In dieser Zeit geht die CPU-Auslastung auf Null zurück und
es erfolgt keine Ausgabe im (Gnome-)Terminal. Plötzlich läufts dann wieder.Sicher, das Problem ist lösbar, indem man nicht so oft ausgibt, aber mich
würde doch interessieren, was da im System passiert. Läuft da irgendwo ein
Buffer voll?