AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Delphi Thread Programmierung unter Windows mit Delphi
Tutorial durchsuchen
Ansicht
Themen-Optionen

Thread Programmierung unter Windows mit Delphi

Ein Tutorial von Luckie · begonnen am 21. Sep 2003 · letzter Beitrag vom 29. Mai 2011
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von Luckie
Luckie
Registriert seit: 29. Mai 2002
Threads mit Delphi
Thema: Threadprogrammierung mit Delphi

Version: 2.4 vom 2005-10-29

Inhaltsverzeichnis:
Zitat:
1 Vorwort........................................... .................................................. ....................... 4
2 Einführung........................................ .................................................. ...................... 5
2.1 Geschichtliches................................... .................................................. .............. 5
2.2 Begriffsdefinition................................ .................................................. ............... 5
2.2.1 Was ist ein Prozess?.......................................... ............................................ 5
2.2.2 Threads, die arbeitende Schicht........................................... ........................... 6
2.2.3 Multitasking und Zeitscheiben...................................... ................................... 7
2.3 Wann sollte man Threads einsetzen und wann nicht?............................................ .... 7
3 Grundlagen........................................ .................................................. ..................... 9
3.1 Zur Veranschaulichung................................. .................................................. ...... 9
3.2 Die Thread-Funktion.......................................... ................................................. 10
3.3 Einen Thread abspalten......................................... ............................................. 10
3.4 Beenden eines Threads........................................... ............................................ 11
3.4.1 Die Thread-Funktion endet............................................. .............................. 11
3.4.2 ExitThread........................................ .................................................. ....... 12
3.4.3 TerminateThread................................... .................................................. .... 12
3.4.4 Vorgänge beim Beenden eines Threads........................................... ............... 13
4 Thread-Ablaufsteuerung................................... .................................................. ....... 15
4.1 Anhalten und Fortsetzen von Threads........................................... ........................ 16
4.1.1 Fortsetzen........................................ .................................................. ........ 16
4.1.2 Anhalten.......................................... .................................................. ........ 16
4.1.3 Zeitlich begrenztes Unterbrechen...................................... ............................ 17
4.2 Temporärer Wechsel zu einem anderen Thread............................................ .......... 17
4.3 Thread Ausführungszeiten, Beispielanwendung ThreadTimes....................................18
5 Thread-Prioritäten....................................... .................................................. ........... 20
5.1 Darstellung der Prioritäten....................................... ........................................... 20
5.1.1 Prozess-Prioritäten....................................... ............................................... 20
5.1.2 Thread-Prioritätsklassen................................. .............................................. 22
5.2 Programmieren von Prioritäten....................................... ..................................... 24
5.2.1 festlegen der Prioritätsklasse.................................. ...................................... 24
5.2.2 Festlegen der Thread-Priorität......................................... .............................. 25
5.2.3 Prioritätsanhebung durch das System............................................ ................ 26
5.3 Beispielanwendung "Priority-Demo"............................................. ......................... 27
6 Thread-Synchronisation................................... .................................................. ........ 29
6.1 Atomarer Variablenzugriff.................................. ................................................. 29
6.2 Kritische Abschnitte........................................ .................................................. . 31
6.2.1 Wie funktionieren kritische Abschnitte........................................ .................... 33
6.2.2 Kritische Abschnitte und SpinLocks......................................... ....................... 34
7 Thread-Synchronisation mit Kernel-Objekten (neu in Version 2.2)................................... 36
7.1 WaitForxxx-Funktionen........................................ ............................................... 36
7.1.1 WaitForSingleObject............................... .................................................. ... 36
7.1.2 WaitForMultipleObjects............................ .................................................. .. 38
7.1.3 MsgWaitForMultipleObject (neu in Version 2.3).............................................. .. 38
7.2 Ereignisobjekte................................... .................................................. ............. 39
8 Das VCL Thread-Objekt............................................ ................................................. 41
8.1 Erzeugen, Eigenschaften, Methoden.......................................... ............................41
8.1.1 Erzeugen.......................................... .................................................. ....... 41
8.1.2 Eigenschaften..................................... .................................................. ...... 42
8.1.3 Methoden.......................................... .................................................. ....... 43
8.2 Beispiel einer Execute Methode........................................... ................................. 43
8.3 Synchronisation des Thread-Objektes.......................................... ......................... 44
Insgesamt 45 Seiten

Das Tutorial liegt als PDF vor und kann hier: http://delphitutorials.michael-puff.de runtergeladen bzw. online eingesehen werden. In dem dazugehörigen Zip Archiv (Threads_mit_Delphi.zip) befinden sich noch zusätzlich Demos.
Ein Teil meines Codes würde euch verunsichern.
 
PRehders
 
#21
  Alt 30. Sep 2004, 14:14
Hallo Michael,

kein Problem, ich mache das aus dem PDF per Cut&Paste und erzeuge kurz ein Word-Dokument mit Markierungen etc. Ich schicke es Dir morgen im Laufe des Vormittags zu.

Bis dann
Peter

P.S.: Du möchtest das Dokument ja vielleicht mal irgendwo vorzeigen, wo es drauf ankommt; daher gehe ich da mal etwas pingeliger ran. Also nicht ...
Peter Rehders
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#22
  Alt 30. Sep 2004, 14:17
Besten Dank.

Soll ich dich als Lektor erwähnen? Würde ich gerne machen und dazu deine Homepage verlinken, so fern vorhanden und erwünscht.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von Memo
Memo

 
Delphi 7 Enterprise
 
#23
  Alt 30. Sep 2004, 21:58
Das TThreadObject-Demo verursacht eine Schutzverletzung in Unit1:
Code:
if ThreadArray[Listview1.Selected.Index].Suspended then
Ich habe aber nicht nach dem Fehler gesucht. 8)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#24
  Alt 1. Okt 2004, 13:03
Bei mir nicht. Windows2000, Delphi 6 Personal.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von Memo
Memo

 
Delphi 7 Enterprise
 
#25
  Alt 1. Okt 2004, 13:11
Zitat von Luckie:
Bei mir nicht. Windows2000, Delphi 6 Personal.
Ich hatte die Option: "Bei Delphi Exceptions stoppen" eingeschaltet.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#26
  Alt 1. Okt 2004, 13:32
Ist bei mir auch aktiviert.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von Memo
Memo

 
Delphi 7 Enterprise
 
#27
  Alt 1. Okt 2004, 13:37
Zitat von Luckie:
Ist bei mir auch aktiviert.
Deaktiviert läufts. Aktiviert gibt es eine EAccessViolatio.
D7 Enterp. XP
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#28
  Alt 29. Okt 2005, 07:26
Es gibt eine neue Version des PDF dieses Tutorials. Dank OpenOffice 2.0 jetzt mit Lesezeichen für die Kapitel. Alles weiter im ersten Posting: http://www.delphipraxis.net/internal...?p=73685#73685
Michael
  Mit Zitat antworten Zitat
Sangoku
 
#29
  Alt 20. Feb 2007, 14:01
Hallo Luckie,

ist dein Tutorial heute noch verfügbar? Die Links sind nicht mehr zu erreichen und ich könnte es gerade echt gut gebrauchen.

Thx
  Mit Zitat antworten Zitat
Benutzerbild von CK_CK
CK_CK

 
Delphi 2006 Enterprise
 
#30
  Alt 20. Feb 2007, 14:07
Bin zwar nicht Luckie, aber trotzdem :

[HIER] ist die neue Adresse...


Chris
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 14:22 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