Function oder Thread Kategorie: Programmierung (von wema - 14.06.2005 14:54) | ||
| ||
Hallo Fan-Gemeinde, ich habe ein Softwareproblem (vorerst nur gedanklich): Ich möchte eine Pumpe für 3 Minuten einschalten und danach gleich wieder aus. Das ganze läuft in einer Function ab. Nun war mein erster Gedanke, nach dem Einschaltbefehl einen sleep-Befehl mit dem Wert 180000 zu setzen. function pumpe () { rbports.set(0,1); sleep 180000; rbports.set(0,0); } Im Nachhinein habe ich aber Bedenken. Die Funktion wird aus einem Eingangs-Abfrage-Thread heraus aufgerufen. Und dieser Thread ist sehr zeitkritisch, da immerhin auf ca 25 Eingänge reagiert werden soll. Daher meine Frage: "Schläft" der Programmablauf beim Befehl "Sleep" wirklich oder werden die anderen Programmabläufe dadurch behindert? Wäre es besser, für die Pumpensteuerung einen Thread aufzurufen und in diesem einen Sleep-Befehl einzusetzen? Oder als dritte Alternative könnte ich ja noch in einer loop-Schleife die Timer-Funktion nutzen in der folgenden Art: function pumpe() { long timer; timer=system.timer(); rbports.set(0,1); loop { if system.timer()-timer >= 180000 break; // nach 3 Min wird die Schleife und damit die Funktion abgebrochen } } Zu welcher Alternative könnt Ihr mir raten und mit welchen Gründen???? Für eine Hilfe wäre ich sehr dankbar. Gru�, wema | ||
Antwort schreiben Antworten: Re: Function oder Thread (von krassos - 14.06.2005 15:46) |