AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein suche einTutorial für die Verwendung der CriticalSection
Thema durchsuchen
Ansicht
Themen-Optionen

suche einTutorial für die Verwendung der CriticalSection

Ein Thema von akuk · begonnen am 15. Mär 2020 · letzter Beitrag vom 15. Mär 2020
Antwort Antwort
akuk

Registriert seit: 8. Mär 2020
Ort: Wald, Zürich Oberland
51 Beiträge
 
Delphi 10.3 Rio
 
#1

suche einTutorial für die Verwendung der CriticalSection

  Alt 15. Mär 2020, 08:51
Hallo
es hat hunderte von Tutorials, aber ein konkretes Beispiel habe ich nicht gefunden. Immer ist die Rede von 2 Threads.
Habe ein einziges Thread (empfang der Daten über RS232) und ein Hauptprogram der die Daten aus dem Thread verarbeitet.
Suche ein Tutorial mit Beispielen zu diesem Thema
Anton Kurka

Geändert von akuk (15. Mär 2020 um 08:54 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: suche einTutorial für die Verwendung der CriticalSection

  Alt 15. Mär 2020, 09:59
Probiere es mal mit meinen: http://michael-puff.de/Programmierung/Delphi/Tutorials/
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.093 Beiträge
 
Delphi 12 Athens
 
#3

AW: suche einTutorial für die Verwendung der CriticalSection

  Alt 15. Mär 2020, 12:00
Das ist auch sehr sehenswert
https://www.danielwolf.eu/blog/2017/...ynchronisation
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: suche einTutorial für die Verwendung der CriticalSection

  Alt 15. Mär 2020, 12:02
Wobei die Critical Sections relativ langsam sind. Bei kurzen Blockaden ist TMonitor die bessere Alternative, weil dort erst mit Spins versucht wird auf den Eintritt in die geschützte Ressource zu warten.

Beispiel:
Delphi-Quellcode:
TMonitor.Enter(FList);
try
  FList.Add(NewData);
finally
  TMonitor.Exit(FList);
end;
Aber auch wenn ich das eben gepostete Video nicht gesehen habe, da kommen die verschiedenen Methoden ja auch zur Sprache.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#5

AW: suche einTutorial für die Verwendung der CriticalSection

  Alt 15. Mär 2020, 12:17
TMonitor funktioniert aber nur mit Objekten.

Sowas hier in einem Getter in einer Klasse ist mit einer CS besser
Delphi-Quellcode:
 CS.Enter;
 try
  Result := FBool;
 finally
  CS.Leave;
 end;
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: suche einTutorial für die Verwendung der CriticalSection

  Alt 15. Mär 2020, 15:55
TMonitor funktioniert aber nur mit Objekten.

Sowas hier in einem Getter in einer Klasse ist mit einer CS besser
Es sei denn es kommt auf die Performance an. Und wenn du innerhalb einer Klasse bist, hast du ja eh schon ein Objekt...
Delphi-Quellcode:
  TMonitor.Enter(Self);
  try
    Result := FBool;
  finally
    TMonitor.Exit(Self);
  end;
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#7

AW: suche einTutorial für die Verwendung der CriticalSection

  Alt 15. Mär 2020, 15:59
Zitat:
TMonitor.Enter(Self);
Daran hab ich nicht gedacht. FBool gehört natürlich zur Klasse
  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 11:09 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