AGB  ·  Datenschutz  ·  Impressum  







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

Datei in eigenem Thread schreiben

Ein Thema von iphi · begonnen am 29. Nov 2011 · letzter Beitrag vom 30. Nov 2011
Antwort Antwort
iphi

Registriert seit: 13. Feb 2009
266 Beiträge
 
Delphi 7 Personal
 
#1

Datei in eigenem Thread schreiben

  Alt 29. Nov 2011, 20:38
Hallo,

da ich nicht sehr erfahren mit Multithreading bin, möchte ich sicherheitshalber noch mal nachfragen:

Ich möchte ein Datenfile von einem eigenen Threadobjekt schreiben lassen, um das Hauptprogramm nicht aufzuhalten.

Ist es sicher, mit assignfile, rewrite und writeln von einem TThread-Objekt aus in ein Textfile zu schreiben, wenn sichergestellt ist, dass nur dieser eine Thread auf das entsprechende File zugreift?
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Datei in eigenem Thread schreiben

  Alt 29. Nov 2011, 21:08
mir ist nichts gegenteiliges bekannt, verbindlich kann ich es Dir für Streams sagen, die ich ohnehin bevorzugen würde.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Datei in eigenem Thread schreiben

  Alt 29. Nov 2011, 21:32
mir ist nichts gegenteiliges bekannt, verbindlich kann ich es Dir für Streams sagen, die ich ohnehin bevorzugen würde.
Das muss gehen, denn jede Anwendung arbeitet in einem Thread (MainThread).

Problematisch wird es ja nur, wenn mehr als ein Thread auf die gleiche Datei zugreifen möchte.
Die Zugriffsart (Streams, AssignFile,...) spielt da auch keine Rolle.

Wenn 2 und mehr Threads auf ein und dieselbe Ressource zugreifen möchten (lesend/schreibend) dann muss dieser Zugriff geregelt werden (Locks/CriticalSection/Mutex/...)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Datei in eigenem Thread schreiben

  Alt 29. Nov 2011, 22:05
Problematisch wird es ja nur, wenn mehr als ein Thread auf die gleiche Datei zugreifen möchte.
Die Zugriffsart (Streams, AssignFile,...) spielt da auch keine Rolle.

Wenn 2 und mehr Threads auf ein und dieselbe Ressource zugreifen möchten (lesend/schreibend) dann muss dieser Zugriff geregelt werden (Locks/CriticalSection/Mutex/...)
Das gilt nicht nur für das Ziel (die Datei), sondern auch für die Quelle, also das wo du die Daten herholst, welche in die Datei rein sollen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Datei in eigenem Thread schreiben

  Alt 29. Nov 2011, 22:15
Problematisch wird es ja nur, wenn mehr als ein Thread auf die gleiche Datei zugreifen möchte.
Die Zugriffsart (Streams, AssignFile,...) spielt da auch keine Rolle.

Wenn 2 und mehr Threads auf ein und dieselbe Ressource zugreifen möchten (lesend/schreibend) dann muss dieser Zugriff geregelt werden (Locks/CriticalSection/Mutex/...)
Das gilt nicht nur für das Ziel (die Datei), sondern auch für die Quelle, also das wo du die Daten herholst, welche in die Datei rein sollen.
ist die Quelle nicht auch eine Ressource?
Allgemeiner kann ich das nicht schreiben
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Datei in eigenem Thread schreiben

  Alt 29. Nov 2011, 22:55
Jupp, drum nochmal erwähnt, nicht daß er nur auf die Datei achtet und die ander Seite übersieht
Ein Therapeut entspricht 1024 Gigapeut.
  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 13:38 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 by Thomas Breitkreuz