Using threads
When an operating system starts an app, it creates a process for it and starts a thread of execution, often called the main thread. As I mentioned before, in each process, there could be one or more threads running, which is more relevant at a time when all processors that power computers and mobile devices have multiple cores. This means that there could be multiple threads executing in parallel on each core. A typical app executes in one thread, which runs on just one processor core. All other cores do nothing.
There are, however, multiple reasons for using threads. The most important is not the extra performance, but keeping an app responsive while it is doing some heavy calculations or waiting for external information (for example, using an HTTP request). Another scenario is using multiple threads for faster calculations, which is more enticing but, as mentioned, also the most complex one.
Since the early versions of Delphi, there is a TThread
class in the Runtime...