AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Thread mit timer gestartet

Ein Thema von akurka · begonnen am 27. Okt 2014 · letzter Beitrag vom 29. Okt 2014
Antwort Antwort
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.487 Beiträge
 
Delphi 12 Athens
 
#1

AW: Thread mit timer gestartet

  Alt 27. Okt 2014, 12:19
Es gibt sicher bessere Lösungen, aber ohne das Programm jetzt komplett umzustellen könnte man den Timer einfach in ein Datenmodul verschieben.
Das lässt man beim Programmstart erstellen und ist immer da, egal welche Formulare angezeigt werden.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#2

AW: Thread mit timer gestartet

  Alt 27. Okt 2014, 13:44
Die Idee ist doch 'alle x ms Daten zu lesen'. Was spricht dann gegen das 'Sleep' in der Bearbeitungsschleife, wie von Bowler skizziert?
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Thread mit timer gestartet

  Alt 27. Okt 2014, 13:57
Dafür gibt es in der Kernel32 die API SetWaitableTimer
Diesen Timer kann man dann innerhalb Thread.Execute erstellen.
Sleep ist immer eine schlechte Idee.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Thread mit timer gestartet

  Alt 27. Okt 2014, 14:07
Warum ist sleep eine schlechte Idee?
Wenns nicht der Hauptthread ist dann friert nichts ein und während dem sleep kann sich der Prozessor um andere Prozesse/Threads kümmern wodurch Resourcen gespart werden.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Thread mit timer gestartet

  Alt 27. Okt 2014, 14:16
Warum ist sleep eine schlechte Idee?
Weil Sleep die letzte aller Möglichkeiten sein soll wenn man es nicht besser weis.
Ich verwende lieber meine Methode da ich dann von zeit zu zeit Einfluss nehmen kann auf den Thread, wann eine Aktion ausgeführt werden soll.
Nicht jede Form oder Aktion benötigt eine Wartezeit von 200ms.
Das bremst unterumständen das Programm aus.

PS:
Wenn innerhalb des Threads auf Funktionen der GUI (Form) zugegriffen wird friert das Programm für 200ms ein.

Aber jeder wie er will.

gruss

Geändert von EWeiss (27. Okt 2014 um 14:27 Uhr)
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#6

AW: Thread mit timer gestartet

  Alt 27. Okt 2014, 14:42
Das bremst unterumständen das Programm aus....Wenn innerhalb des Threads auf Funktionen der GUI (Form) zugegriffen wird friert das Programm für 200ms ein.
Wenn Sleep innerhalb eines Threads ausgeführt wird?? Das will mir nicht so recht einleuchten.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Thread mit timer gestartet

  Alt 27. Okt 2014, 14:49
Das bremst unterumständen das Programm aus....Wenn innerhalb des Threads auf Funktionen der GUI (Form) zugegriffen wird friert das Programm für 200ms ein.
Wenn Sleep innerhalb eines Threads ausgeführt wird?? Das will mir nicht so recht einleuchten.
Hauptthread ist dieser der GUI
Dein Thread hat nichts mit dem der GUI gemein.
Jetzt versuche mal aus deinen Thread einen Label aus der GUI anzusprechen so das er alle 10ms die neue Zeit anzeigt.
Ich denke das dein Thread das Programm einfriert und der Label in dem Fall nicht aktualisiert wird.
Versuchs doch einfach.

gruss
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 22:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz