AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Zeitgesteuerte Ausführung von Threads???
Thema durchsuchen
Ansicht
Themen-Optionen

Zeitgesteuerte Ausführung von Threads???

Ein Thema von romber · begonnen am 4. Feb 2010 · letzter Beitrag vom 19. Feb 2010
Antwort Antwort
Seite 1 von 2  1 2      
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.164 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Zeitgesteuerte Ausführung von Threads???

  Alt 4. Feb 2010, 14:10
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!
  Mit Zitat antworten Zitat
fishly

Registriert seit: 30. Okt 2008
31 Beiträge
 
Delphi 5 Standard
 
#2

Re: Zeitgesteuerte Ausführung von Threads???

  Alt 4. Feb 2010, 15:59
Ich hätte das genauso gemacht wie du.
Was anderes und vor allem effizienteres fällt mir jetzt auf die Schnelle nicht ein.
never change a running system...
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: Zeitgesteuerte Ausführung von Threads???

  Alt 4. Feb 2010, 18:47
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...
Andreas
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.164 Beiträge
 
Delphi 10 Seattle Professional
 
#4

Re: Zeitgesteuerte Ausführung von Threads???

  Alt 4. Feb 2010, 23:41
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?
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.164 Beiträge
 
Delphi 10 Seattle Professional
 
#5

Re: Zeitgesteuerte Ausführung von Threads???

  Alt 16. Feb 2010, 12:20
*PUSH*
Dieses Thema ist für micht noch aktuell.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.157 Beiträge
 
Delphi 12 Athens
 
#6

Re: Zeitgesteuerte Ausführung von Threads???

  Alt 16. Feb 2010, 12:38
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.164 Beiträge
 
Delphi 10 Seattle Professional
 
#7

Re: Zeitgesteuerte Ausführung von Threads???

  Alt 17. Feb 2010, 10:30
Mit aurechnen der Differenz ist eine sehr gute Idee, probiere ich. Danke!
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Zeitgesteuerte Ausführung von Threads???

  Alt 17. Feb 2010, 10:33
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
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#9

Re: Zeitgesteuerte Ausführung von Threads???

  Alt 17. Feb 2010, 10:43
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
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#10

Re: Zeitgesteuerte Ausführung von Threads???

  Alt 18. Feb 2010, 20:16
Ich hoffe das Du sowas suchen tust...

Timer

Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 Uhr.
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