AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Zwei Proceduren gleichzeitig starten ohne Thread ?
Thema durchsuchen
Ansicht
Themen-Optionen

Zwei Proceduren gleichzeitig starten ohne Thread ?

Ein Thema von turboPASCAL · begonnen am 29. Mai 2007 · letzter Beitrag vom 29. Mai 2007
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#11

Re: Zwei Proceduren gleichzeitig starten ohne Thread ?

  Alt 29. Mai 2007, 14:47
Zitat von 3_of_8:
Setz dir halt einfach ne Semaphore.

Der Lade-Thread setzt eine Eigenschaft von sich auf True und der andere Thread kann die dann auslesen und schauen, ob der Lade-Thread schon fertig ist.
Hört sich ja schon mal nach was an. Habe aber k.A. wie man das dann programiertechnisch umsetzt
da meine Informatikschulstunde etwas lange her war...
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#12

Re: Zwei Proceduren gleichzeitig starten ohne Thread ?

  Alt 29. Mai 2007, 14:51
Wie gesagt: Du leitest dir eine Klasse von TThread ab, überschreibst die Execute-Methode mit deinem Code, fügst eine Eigenschaft "Ready: Boolean" hinzu (das ist die Semaphore). Der Thread setzt dann Ready:=True, wenn er fertig ist, und der Hauptthread kann dann daran erkennen, ob der Thread fertig ist. (Alternativ kann er auch einfach terminieren und der Hauptthread überprüft dann ob Terminated=True).
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#13

Re: Zwei Proceduren gleichzeitig starten ohne Thread ?

  Alt 29. Mai 2007, 14:56
Wären eventuell Fibers etwas für dich? Du könntest dir parallel zur Darstellung ein Ladefiber erstellen, dass vom Darstellungsfiber angesprungen wird und jeweils nach xyz Prozent/Sekunden/Legislativperioden die Kontrolle wieder dem Darstellungsfiber übergibt - und das so lange, bis alles geladen ist.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#14

Re: Zwei Proceduren gleichzeitig starten ohne Thread ?

  Alt 29. Mai 2007, 14:58
Äh, ne so einfach ist es ja nun auch nicht. Das Ding ist in nonVCL.
Habe aber heraugefunden das Winsows (die Unit) so etwas hat (CreateSemaphore).

Ich habe aber noch kein Anwendungs Beispiel gefunden.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: Zwei Proceduren gleichzeitig starten ohne Thread ?

  Alt 29. Mai 2007, 23:24
Klar kannst du dir von Windows ne Semaphore erstellen lassen. Das ist aber unsinnig, wenn du das, wie oben genannt, auch selber kannst. Die Windows-Semaphoren sind nämlich nur dafür da, wenn man mehrere Prozesse synchronisieren will. Sie gehen natürlich auch für einen einzigen Prozess, aber das ist halt dann Overkill.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#16

Re: Zwei Proceduren gleichzeitig starten ohne Thread ?

  Alt 29. Mai 2007, 23:30
aha, ich werde dann mal deinen Vorschlag testen...
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 15:08 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