AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Programmieren mit TThread (erster eigener Versuch)
Thema durchsuchen
Ansicht
Themen-Optionen

Programmieren mit TThread (erster eigener Versuch)

Ein Thema von sundance · begonnen am 30. Sep 2008
Antwort Antwort
Benutzerbild von sundance
sundance

Registriert seit: 9. Mai 2006
98 Beiträge
 
Delphi 7 Professional
 
#1

Programmieren mit TThread (erster eigener Versuch)

  Alt 30. Sep 2008, 12:41
Hallo DPler,

ich habe jetzt mein erstes (Test-)Progrämmchen fertiggestellt, welches mit Hilfe von BASS und TThreads gleichzeitig zwei Audiodateien (aus einer TStringList) nach MP3 konvertiert. Funktioniert auch soweit. Nur habe ich das Gefühl, dass das Ganze nicht unbedingt optimal konzipiert ist (ich hoffe, der Ablauf wird einigermassen klar...):

Im MainThread:
1. TStringList mit Audiodateien erstellen
2. Liste abarbeiten und pro Datei einen Encoding-Thread starten (max. 2 gleichzeitig)
3. Ein Zähler JobCount zählt die simultan laufenden Encoding-Threads

Im EncodingThread:
1. LAME starten
2. Fortschritt per Windows-Messages übermitteln
3. Nach Ende des Encodings "Finished"-Message senden

Im MainThread:
4. Thread beenden, Dec(JobCount)
5. und weiter bei 2.

Dadurch, dass die Liste nur vom MainThread bearbeitet wird, entfällt Synchronize().

Könnte man das Ganze vielleicht besser machen?
Evtl. den EncodingThread mit FreeOnTerminate starten? Dann wäre es nicht nötig, dessen Ende dem MainThread zu übermitteln; allerdings muß er sich dann ja selbst mit einer neuen Datei aus der TStringList (synchronisiert) "versorgen". Der Vorteil (?) wäre, dass die beiden Threads so lange laufen, bis die Liste leer ist und nicht wie oben für jede Datei neu erzeugt werden.

.sundance.
  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 10:24 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