AGB  ·  Datenschutz  ·  Impressum  







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

Thread synchronisieren...

Ein Thema von FriFra · begonnen am 7. Aug 2005 · letzter Beitrag vom 7. Aug 2005
Antwort Antwort
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#1

Thread synchronisieren...

  Alt 7. Aug 2005, 17:27
Ich verwende in meinem Programm einen Thread um eine bestimmte Aufgabe entkoppelt vom Hauptthread auszuführen.
Jetzt hab ich allerdings das Problem, dass der Thread unter bestimmten Voraussetzungen komplett synchron zum Hauptthread laufen muss... Wie bekomme ich das hin?
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Thread synchronisieren...

  Alt 7. Aug 2005, 17:45
Zitat von FriFra:
...komplett synchron zum Hauptthread laufen...
Hi, was genau muss wie synchronisiert werden? Warum müssen Worker-Thread und GUI-Thread "komplett synchron" laufen?
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Thread synchronisieren...

  Alt 7. Aug 2005, 17:53
Zum aktualisieren div. Captions etc. im Hauptthread rufe ich div. proceduren des Threads schon über synchronize auf...
Aber: Ich habe für die bettr. Funktion, welche normalerweise im Hintergrund laufen soll auch ein Button auf einer Form des Mainthread. Klickt der User diesen Button an muss der Thread synchron laufen...

Der Thread hat ja die Methode StaticSynchronize, kann ich damit nicht mein Ziel erreichen? Ich hab nur keinen Plan, was ich da als Parameter übegeben muss
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Thread synchronisieren...

  Alt 7. Aug 2005, 18:19
Wenn der Thread die ButtonClick Methode blockieren soll gibt es die Methode TThread.WaitFor(). Die Ausführung des VCL-Hautpthreads wartet dann ab, bis der Worker-Thread seine Arbeit beendet hat.

Delphi-Quellcode:
procedure Foo;
var MyThread: TMyThread;
begin
  MyThread := TMyThread.Create(true);
  MyThread.FreeOnTerminate := false;
  try
   MyThread.Resume;
   MyThread.WaitFor;
  finally
   MyThread.Free;
  end;
end;
Hab aber trotzdem das Gefühl, dass das Problem noch nicht gelöst ist. :-/ Ich versteh nicht so ganz, was du mit "synchron laufen" meinst...
Dani H.
At Least I Can Say I Tried
  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 07:01 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