ToC (2)








Multithreading - The Delphi Way.


Back to Martin Harvey's
programming pages.
This guide is an ongoing work. If you have any queries or suggestions
concerning style, subject matter, or presentation of this guide, then do
not hesitate to email me at martin@pergolesi.demon.co.uk.
If you don't like reading large documents on line, then you can download
a zip file containing these web pages by clicking
here.
 



Multithreading - The Delphi Way.



Martin Harvey.

Version 0.4 Beta.


Table of Contents.
Introduction.
Dedications.
Recommended Reading.
Navigation hints.
Chapter 1. What are threads? Why use them?
Chapter 2. Creating a thread in Delphi.
Chapter 3. Basic synchronization.
Chapter 4. Simple thread destruction.
Chapter 5. More thread destruction. Deadlock.
Chapter 6. More synchronization: Critical sections
and mutexes.
Chapter 7. Mutex programming guidelines. Concurrency
control.
Chapter 8. Delphi thread safe classes and Priorities.
Chapter 9. Semaphores. Data flow scheduling.
The producer - consumer relationship.
Chapter 10. I/O and data flow: from blocking
to asynchronous and back.
Chapter 11. Synchronizers and Events.
Chapter 12. Eventcounts and sequencers.
Chapter 13. Miscellanea.
Chapter 14. An introduction to transaction processing.
Chapter 15. A real world problem: Socket connection semantics.
Chapter 16. A real world solution More dataflow multithreading.



Introduction.
This guide is intended for anyone who is interested in improving performance
and responsiveness in their delphi applications by using threads. It covers
a range of topics from absolute beginner to intermediate level, and some
of the real world examples raise issues bordering on the advanced. It assumes
that the reader has a reasonable knowledge of Object Pascal programming,
including simple object orientation, and a working understanding of event
based programming.

Dedications.
Dedicated to three members of the Computer Science department at the University
of Cambridge: Dr Jean Bacon, Dr Simon Crosby, and Dr Arthur Norman.
Many thanks to Jean as a tutor for making a complicated subject seem
simple, for providing excellent reference material, and for lifting a corner
of the veil around a hitherto mysterious subject. She also deserves thanks
as a director of studies, for explaining the Computer science timetable
to me. It took me three years to figure it out for myself!
Many thanks to Simon as a tutor, for showing me that although modern
operating systems may be fiendishly complicated, the principles underlying
them are simple. He also deserves thanks for taking on a student with unconventional
ideas about final year project material, and for providing much useful
advice on my project dissertation.
Arthur Norman never taught me a thing about multithreading. He did however
teach me many other things, which helped me when writing the more complicated
parts of this guide:


There is no limit to the eccentricity of university lecturers.


Although most people prefer simplicity, there is a certain perverse enjoyment
to be had doing things the complicated way, especially if you're cynical.

He also deserves a mention for some of the best quotes ever to fall from
a computer science lecturers lips:


"There is something in the lecture course which may not have been visible
so far, which is reality ..."


"The theoreticians have proven that this is unsolvable, but there's three
of us, and we're smart ..."


"People who don't use computers are more sociable, reasonable, and ...
less twisted."


"[If complexity theory lives up to its title] if that proves to be the
case, I will be the winner, as not many of you will attempt the exam questions."

He even has his own fan page.

Recommended reading:
Title: Concurrent Systems: An integrated approach to Operating Systems,
Database, and Distributed Systems.
Author: Jean Bacon.
Publisher: Addison-Wesley
ISBN: 0-201-41677-8
The author welcomes suggestions for other useful titles.

Navigation hints.
The narrative and diagrams in this guide are all contained in single HTML
pages, one for each chapter. The source code examples appear in pop up
windows. You will need a javascript enabled browser to view these. To facilitate
viewing of the narrative and source in parallel, the reader may find it
useful to tile the various web browser windows. This can be achieved by
right clicking on the task bar, and selecting "Tile Windows Vertically".


© Martin Harvey
2000.




Wyszukiwarka

Podobne podstrony:
Pala85515839 oeb toc r1
ScreamforMe toc
toc
A416520554 toc
0441724035 toc
TOC
toc
Flin45495470 oeb toc r1
1416521429 toc
ERBAEN0098 toc
Bear53901826 oeb toc r1
toc
0879972920 toc
A1439133662 toc
0671578405 toc
0671319965 toc
1439133204 toc

więcej podobnych podstron