Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 249478 (10914)
  Suchen
 Zurück zur Übersicht
 AutorThema: Schlaufe mitmöglichst wenig Systemressourcen
Nico Raschle
Datum:03.09.01 19:47 Antwortenals Email verschicken (keeper@gmx.ch) 


Hallo

Ich möchte ein Programm schreiben das immer im Hintergrund läuft und z.B. alle 5-50min eine bestimmte Befehlsreihenfolge ausführt. Wie mache ich das so das am wenigsten Systemressourcen verbraucht werden?

Wie würde das funktionieren wenn mein Programm nur immer dann reagieren sollte wenn ein bestimmter Punkt in einer Textdatei geändert wurde? Auch so das ich am wenigsten Systemressourcen verbrauche?

Vielen Dank!

Gruss
Nico


Frank Abbing
Datum:03.09.01 20:17 Antwortenals Email verschicken (frankabbing@12move.de) 


Hallo Nico,

die eleganteste Methode ist, wenn du einen separaten Thread öffnest. Das ist quasi ein zweites Programm, welches von deinem ersten Programm aus gestartet wird und einen Teil deines Hauptprogrammes abarbeitet.
Mit CreateThread(...) wird er gestartet. Ich hab' leider kein Beispielprogramm in Profan, du solltest die WinAPI hierfür ausgiebig studieren.

Ist nur eine Möglichkeit, aber bestimmt die eleganteste...

Bis dahin,

Frank



Nico Raschle
Datum:03.09.01 21:26 Antwortenals Email verschicken (keeper@gmx.ch) 


Wird damit die Rechenleistung weniger beansprucht?

Danke und Gruss
Nico Raschle


Angela M.
Datum:05.09.01 16:32 Antwortenals Email verschicken  


Hi Frank,
was muß ich denn bei dem start-Parameter angeben. Was ich auch angebe, es funktioniert einfach nicht. Kannst Du nicht ein kleines Beispiel posten.

Gruß

Angie


Frank Abbing
Datum:05.09.01 16:44 Antwortenals Email verschicken (frankabbing@12move.de) 


Hallo,

hab' eigentlich gar keine Zeit, aber ich versuche in den nächsten Tagen was zu improvisieren, ok?

Bis dahin,

Frank


Angela M.
Datum:07.09.01 16:54 Antwortenals Email verschicken  


Hi Frank,

das ist kein Problem, ich wollte es nur mal ausprobieren. Bisher hielt ich es nicht für möglich, daß man mit Profan mehrere Threads nutzen kann. Aber Deine ProSpeed.dll hat mir gezeigt, daß mit Profan nichts unmöglich ist.

Gruß

Angie



Frank Abbing
Datum:07.09.01 17:51 Antwortenals Email verschicken (frankabbing@12move.de) 


Hallo,

muß dich leider enttäuschen. Das mit den Threads geht leider NICHT in Profan. Es scheint keine Möglichkeit zu geben, direkte Programmadressen zu lokalisieren, weil der Profancode kein Native-Code ist, sondern nur übersetzt wird. Und die ProSpeedDll, die zwar Threads benutzt, ist aber nicht in Profan geschrieben, sondern in Assembler / Maschinencode....
Sorry!

MfG

Frank


Angela M.
Datum:08.09.01 13:14 Antwortenals Email verschicken  


Hi Frank,
das ist aber schade:-( Kannst Du nicht in Deiner ProSpeed.dll ein paar Funktionen machen, damit auch wir armen Profaner von mehreren Threads profitieren können?

Gruß

Angie



Frank Abbing
Datum: 08.09.01 13:47 Antwortenals Email verschicken (frankabbing@12move.de) 


Hallo!

Klar, würde ich schon machen, aber wie sollte sowas gehen? Das läßt sich nicht so biegen, das von der Dll aus dein Profan²-Programm abgearbeitet wird.
Aber Roland G.H. bemüht sich gerade, Threads für Profan ab Version 7.5 einzuführen. Schaun mer mal, was draus wird...

Bis dahin,

Frank


Jörg Sellmeyer
Datum:03.09.01 22:57 Antwortenals Email verschicken (joerse@gmx.de) 


Hallo Nico,
Wenn Dein Programm nur alle 5 min eine Aktion starten soll,
kannst Du es so lange in den "Ruhestand" schicken.
Mit: Sleep (5 * 60) * 1000
schläft Dein Programm 5 min.
Wenn es etwas überwachen soll, kannst Du
Sleep 1 (oder 10 oder ...)
verwenden und es testet alle 1 (oder 10 oder ...) Millisekunden ob die Bedingung für die Aktion erfüllt ist.
Die Prozessorbelastung ist dabei minimal.
Viele Grüße
Jörg


Nico Raschle
Datum:03.09.01 23:12 Antwortenals Email verschicken (keeper@gmx.ch) 


Danke für die raschen Antworten. Ich werde es so schnell wie möglcih ausprobieren :)

Gruss
Nico


Gert Severin
Datum:08.09.01 10:54 Antwortenals Email verschicken (gs-sdl@web.de) 


hallo Nico,

schau Dir doch mal den Befehl "SetTimer" an. Der hat die Systemressourcen in einem "Warte"-programm bei mir drastisch reduziert.

Tschüß Gert.


 Zurück zur Übersicht