Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Zeitgesteuerte Ausführung von Threads??? (https://www.delphipraxis.net/147252-zeitgesteuerte-ausfuehrung-von-threads.html)

romber 4. Feb 2010 14:10


Zeitgesteuerte Ausführung von Threads???
 
Hallo!

Ich habe einen Dienst erstellt, der aus mehreren eigenständigen Threads besteht. Ich möchte einen Thread zeitgesteuert ausführen. Im Konfigurationsmenü des Dienstes wird ein Zeitplann erstellt, wann der Vorgang ausgeführt werden soll.

Wie führe ich am besten die Threads zeitgesteuert aus? Ich habe zwar eine Idee mit einem neuen Thread, der die Zeit permanent überwacht, doch ich möchte estmal wissen, was das übliche Verfahren für so was ist.

Danke!

fishly 4. Feb 2010 15:59

Re: Zeitgesteuerte Ausführung von Threads???
 
Ich hätte das genauso gemacht wie du.
Was anderes und vor allem effizienteres fällt mir jetzt auf die Schnelle nicht ein.

shmia 4. Feb 2010 18:47

Re: Zeitgesteuerte Ausführung von Threads???
 
Auf den meisten Windows Rechnern läuft doch der Taskplaner-Dienst (Dienstname: Schedule).
Diesen Dienst kann man dazu benützen, zu bestimmten Zeiten dein Programm anzustarten.
Was dein Programm genau tun soll, bekommt es über Aufrufparameter gesagt.

Vorteile:
* Spart Resourcen, weil dein Programm nicht ständig läuft
* Taskplaner hat wesentlich mehr Funktionalität in Bezug auf Zeitplanung als dein eigenes Programm je haben wird
* funktioniert auch, wenn der Benutzer abgemeldet ist (ohne dass du extra einen Dienst schreiben musst)
* dein Programm wird viel einfacher:
es startet, prüft die Übergabeparameter, erledigt seine Aufgabe (ohne Threads) und beendet sich

Unter Unix würde niemand auf die Idee kommen so eine Zeitsteuerung selbst zu programmieren.
Denn es gibt dort den cron-daemon und das at Kommando.
Nur unter Windows scheint jeder den Taskplaner neu erfinden zu wollen...

romber 4. Feb 2010 23:41

Re: Zeitgesteuerte Ausführung von Threads???
 
Vielen Dank für die schnelle Antworten!

An Windows-Taskplanner habe ich nicht gedacht. Ich kann aus dem Thread ein eigenständiges Programm machen und durch Taskplanner starten lassen.
Und trotzdem würde mich interessieren, wie das geht.
Wie funktioniert Taskplanner im inneren?

romber 16. Feb 2010 12:20

Re: Zeitgesteuerte Ausführung von Threads???
 
*PUSH*
Dieses Thema ist für micht noch aktuell.

himitsu 16. Feb 2010 12:38

Re: Zeitgesteuerte Ausführung von Threads???
 
Ich würde mir einen Timer erstellen, welcher zur nötigen Zeit zuschlägt.

Wenn das Programm gestartet oder der Zeitplan geändert wurde, dann schaut man nach dem nächstliegendem Thermin, nimmt die aktuelle Zeit und mit der Differenz startet man dann den Timer.
Löst der Timer dann aus, wird die Aktion ausgeführt und eventuell der Timer neu gesartet, mit der Zeit bis zum nächsten Event.

romber 17. Feb 2010 10:30

Re: Zeitgesteuerte Ausführung von Threads???
 
Mit aurechnen der Differenz ist eine sehr gute Idee, probiere ich. Danke!

hoika 17. Feb 2010 10:33

Re: Zeitgesteuerte Ausführung von Threads???
 
Hallo,

wonach du suchst, heisst cron job
Dafür ist im Netz ne Menge zu finden.

In den JEDI's war mal eine Komponente,
die war aber noch nicht ganz fertig.


Heiko

Jens Hartmann 17. Feb 2010 10:43

Re: Zeitgesteuerte Ausführung von Threads???
 
Schau mal vieleicht hier,

ich habe zur Zeit ein ganz ähnliches Problem

Timer Steuerung

Allerdings ist das ganze noch nicht ganz ausgereift, weil da momentan noch ein paar kleine Problem mit der Neuinitialisierung der Timer.Interval vorhanden sind.

Allerding muss ich das heute abend noch bearbeiten. Vieleicht ist dann die Lösung komplett.

Gruß Jens

Jens Hartmann 18. Feb 2010 20:16

Re: Zeitgesteuerte Ausführung von Threads???
 
Ich hoffe das Du sowas suchen tust...

Timer

Gruß Jens


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:06 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz