TThread
Multithreading support has been built into Delphi since its early days.
The very first 32-bit version, Delphi 2, introduced the TThread
class. At that time, TThread
was a very simple wrapper around the Windows CreateThread
function. In later Delphi releases, TThread
was extended with multiple functions and support for other operating systems, but it still remained a pretty basic tool.
The biggest problem with TThread
is that it doesn’t enforce the use of any programming patterns. Because of that, you can use it to create parallel programs that are hard to understand, hard to debug, and that work purely by coincidence. I should know – I shudder every time I have to maintain my old TThread
-based code.
Still, the TThread
approach can be very effective and completely readable, provided that you use it correctly. Over the following pages, I’ll first show the basic TThread
usage patterns and then improve the basic approach by introducing communication...