Delphi offers many tools to write multithreaded programs. As this is a book about patterns, not about parallel programming, I will not be able to go into much detail on that topic. Still, it is good to know which tools you have available so that you can do additional research in your own time.
In this introductory section, I will walk you through the Delphi tools that facilitate the writing of multithreaded applications. The DelphiThreading project from the Parallel programming in Delphi folder provides a simple example for every one of them.
A standard platform-independent way to create a new thread in Delphi is to create a descendant of a TThread class (implemented in the System.Classes unit) and override its Execute method. Delphi will use operating system functions to create a new thread and start the Execute...