AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Threads: Kann man im Thread alles andere pausieren?
Thema durchsuchen
Ansicht
Themen-Optionen

Threads: Kann man im Thread alles andere pausieren?

Ein Thema von Koma-Code · begonnen am 12. Okt 2004 · letzter Beitrag vom 12. Okt 2004
Antwort Antwort
Koma-Code
(Gast)

n/a Beiträge
 
#1

Threads: Kann man im Thread alles andere pausieren?

  Alt 12. Okt 2004, 08:58
Hallo,

ich würde gerne mit einem Thread Daten speichern. Dafür müßte ich aber für die Speicher-Zeit
der einzige Prozess sein, der auf den Datensatz zugreift.

Geht es, das man in der Zeit den Hauptthread pausiert?
  Mit Zitat antworten Zitat
Benutzerbild von fiasko
fiasko

Registriert seit: 10. Dez 2002
Ort: Dresden
506 Beiträge
 
#2

Re: Threads: Kann man im Thread alles andere pausieren?

  Alt 12. Okt 2004, 09:02
Hallo,

wenn du mit mehreren Threads auf eine Ressource zugreifst mußt du die ja so oder so durch das Prinzip des gegenseitigen Ausschlusses schützen.

Das einfachste ist mit CriticalSection. Wenn du etwas mit der Ressource machst rufst du ein EnterCriticalSection auf, so bald als möglich die Ressource frei ist ein LeaveCriticalSection. Solange ein Thread in einer solchen CriticalSection drinne ist kommt kein anderer rein (und wird solange suspended bis der der drinne ist rausgeht).
Thomas Liske
Posts comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
  Mit Zitat antworten Zitat
Koma-Code
(Gast)

n/a Beiträge
 
#3

Re: Threads: Kann man im Thread alles andere pausieren?

  Alt 12. Okt 2004, 09:07
Werd ich gleich probieren, danke
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Threads: Kann man im Thread alles andere pausieren?

  Alt 12. Okt 2004, 12:03
Oder kuckst du hier: http://tutorials.luckie-online.de
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Koma-Code
(Gast)

n/a Beiträge
 
#5

Re: Threads: Kann man im Thread alles andere pausieren?

  Alt 12. Okt 2004, 12:40
Hab ich schon

Eine andere Frage aber,

was passiert wenn man EnterCriticalSection aufruft, dann aber ein Fehler auftritt,
so dass es nicht mehr freigegeben wird.

Werden die Ressourcen automatisch nach Procedure-Ende freigegeben?
  Mit Zitat antworten Zitat
Benutzerbild von fiasko
fiasko

Registriert seit: 10. Dez 2002
Ort: Dresden
506 Beiträge
 
#6

Re: Threads: Kann man im Thread alles andere pausieren?

  Alt 12. Okt 2004, 12:51
Nein, dann hast du ein DeadLock

Wenn du das aber der Art:

Delphi-Quellcode:
EntryCriticalSection(..);
try
  // Code
finally
  LeaveCriticalSection(..);
end;
machst, kann ja nix passieren wenn der Code etwas böses macht, da der finally abschnitt immer abgearbeitet wird.
Thomas Liske
Posts comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
  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:17 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