Naja, wenn du alle 20ms ein Event benötigst dann wird das damit nicht gehen. Sowas ist schon schwieriger sauber unter Windows hinzubekommen. Ich würde dann Thread's benutzen, mit höher Priorität. Denoch bleibt der Tasksheduler von Windows und der sorgt dafür das Echtzeit unter Windows eben bei circa 20 Millisekunden und weniger aufhört zu existieren (aus Sicht einer Anwendung auf Ring 3, mit Kerneltreibern kommt man schon noch weiter runter )
Zitat:
und nach der Routine wieder aktiviert, wenn die Routine periodisch aufgerufen werden soll. Ich probiere das mal aus, und beobachte, wie sich das bei hoher Systembelastung verhält.
Da hast du keine Chancen. Bei hoher Systemauslastung werden fast immer alle Anwendungen drunter leiden, zb. das leidige Thema mit den USB-Mäusen/Keyboards die immer schwammiger reagieren bis sie stehen bleiben. Es ist eben im Grunde ein kooperatives Multitasking, auch wenn man es als präemptives Multitasking verkauft. Man kann mit einem einzigsten Thread das System quasi lahmlegen und damit dies nicht passiert muß sich der Thread, bzw. der Programmierer dessen, auch kooperativ verhalten und Rechenzeit abgeben. Eigentlich sollten wir das schon oft erlebt haben, der Explorer kopiert viele große Dateien übers Netzwerk, dann startet man par Anwendungen und das System schläft immer mehr ein. Möchte man den Task-Manager starten hängt der auch noch.
Gruß Hagen