G
Green Mamba
Gast
Hallo,
zuerst einmal möchte ich erläutern dass ich diesen Thread mit Absicht im Programmieren-Forum erstellt habe, weil es prinzipiell um Programmierung geht.
Angenommen ich bin eine Anwendung.
Was passiert wenn ich auf eine Interaktion warte? Es ist praktisch nichts zu tun außer auf eine Eingabe zu warten. Frage ich dann zyklisch alle paar ms beim Betriebssystem nach ob ein Event eingegangen ist welches mich interessiert, oder sage ich dem Dispatcher des Betriebssystems dass er mich wecken (auf den Prozessor legen) soll, wenn ein solches Event eintrifft. Warte ich also aktiv oder eher passiv?
Beispiel Qt, da wird eine sogenannte Eventloop gestartet, läuft diese durch, auch wenn ncihts passiert? Oder blockiert diese solange nichts passiert?
Genauso bei der Windows-GUI welche mit MFC gebaut wird. Gibt es da unterschiede? Es gibt ja auch Anwendungen die mit voller Prozessorlast generell in einer Endlosschleife laufen, wie z.B. Spiele. Das lässt sich aber sicherlich nicht auf alle anderen Anwendungen übertragen, oder?
Viele Grüße,
Mamba
PS: Ich bin mir sicher dass ich das mal wusste, bekomme es aber nicht mehr zuverlässig auf die Kette.
zuerst einmal möchte ich erläutern dass ich diesen Thread mit Absicht im Programmieren-Forum erstellt habe, weil es prinzipiell um Programmierung geht.
Angenommen ich bin eine Anwendung.
Was passiert wenn ich auf eine Interaktion warte? Es ist praktisch nichts zu tun außer auf eine Eingabe zu warten. Frage ich dann zyklisch alle paar ms beim Betriebssystem nach ob ein Event eingegangen ist welches mich interessiert, oder sage ich dem Dispatcher des Betriebssystems dass er mich wecken (auf den Prozessor legen) soll, wenn ein solches Event eintrifft. Warte ich also aktiv oder eher passiv?
Beispiel Qt, da wird eine sogenannte Eventloop gestartet, läuft diese durch, auch wenn ncihts passiert? Oder blockiert diese solange nichts passiert?
Genauso bei der Windows-GUI welche mit MFC gebaut wird. Gibt es da unterschiede? Es gibt ja auch Anwendungen die mit voller Prozessorlast generell in einer Endlosschleife laufen, wie z.B. Spiele. Das lässt sich aber sicherlich nicht auf alle anderen Anwendungen übertragen, oder?
Viele Grüße,
Mamba
PS: Ich bin mir sicher dass ich das mal wusste, bekomme es aber nicht mehr zuverlässig auf die Kette.