AGB  ·  Datenschutz  ·  Impressum  







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

Rückgabewerte von TCriticalSection?

Ein Thema von BKempf · begonnen am 9. Nov 2004 · letzter Beitrag vom 16. Nov 2004
Antwort Antwort
BKempf

Registriert seit: 1. Jun 2004
103 Beiträge
 
Delphi 6 Enterprise
 
#1

Re: Rückgabewerte von TCriticalSection?

  Alt 16. Nov 2004, 15:50
Mein Ansatz ist, daß ich kleine Zeitscheiben definiere, innerhalb derer (und evtl. auch etwas darüber hinaus) die Aufräumaktionen stattfinden sollen. Diese Zeitscheiben sollen im Mittel annähernd eingehalten werden, d.h. wenn die Abarbeitung der Methode mal mehr als die 50 ms benötigt, fällt sie beim nächsten Takt einfach mal aus.
Das eigentliche Problem ist also nicht der Timer an sich, sondern die Notwendigkeit, Daten aus einem Takt (nämlich z.B. den Anteil der verbrauchten Prozessorzeit oder notfalls ein Flag "Nichts verändern, die Methode läuft noch vom vorherigen Takt": boolean) sicher in den folgenden Takt hinüberzuretten - was offenbar nicht mit CriticalSections zu gehen scheint, aber auch nicht ohne das gleichzeitige Lesen und Schreiben einer Variablen (etwa der genannten booleschen) zu riskieren.
Die Idee mit dem Ansatz "Kurz was ausführen, dann sleep(50)" war mir auch schon gekommen, aber ich will für die 50ms nicht das ganze Programm anhalten
Der genannte Thread ist nur einer von insgesamt dreien, von denen einer recht zeitkritisch ist und auch in den Ruhepausen des Aufräumthreads laufen muß.
The problem with troubleshooting is that sometimes the trouble shoots back.
  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 19:54 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