AGB  ·  Datenschutz  ·  Impressum  







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

Threads synchronisieren

Ein Thema von DelphiManiac · begonnen am 19. Mär 2007 · letzter Beitrag vom 20. Mär 2007
Antwort Antwort
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#1

Threads synchronisieren

  Alt 19. Mär 2007, 13:06
Hallo,

ich habe mal wieder eine Frage bezüglich Threads:

ich nutze zurzeit 2 Threads
--> Main Thread der u.a. die GUI bedient
--> Nebenläufiger Thread (der bestimmte Kommunikationsanforderungen bearbeitet)

Meine Frage ist nun, kann ich mit einem Event vom Typ TEvent, welches ich im Thread als public anlege in
meinem Hauptthread darauf warten? Ist dieses threadsafe? Oder müsste ich das irgendwie noch absichern?

habe es zurzeit folgendermaßen:
Warten im Hauptthread
Delphi-Quellcode:
ergebnis:=aCyclicDataThread.fStoppEvent.WaitFor(2000);
    case ergebnis of
      wrSignaled: ;
      wrTimeout: ShowMessage('TimeOut') ;
      wrAbandoned: ;
      wrError: ;
    end;
    aCyclicDataThread.fStoppEvent.ResetEvent;
Im 2. Thread wird das Event gesetzt:
Delphi-Quellcode:
    try
      while fShouldStopp do
      begin
        fIsStopped:=true;
        fStoppEvent.SetEvent;
        fWoBinIch:=6;
        Sleep(100);
        if Self.Terminated then exit;
// if Application.terminated then exit;
      end;
    finally
      fIsStopped:=true;
    end;
Danke euch!!
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#2

Re: Threads synchronisieren

  Alt 20. Mär 2007, 12:28
Kann mir niemand sagen ob das so erlaubt ist?

Danke schonmal im Vorraus..
  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 23: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