OmniThreadLibrary is a simple to use threading library for Delphi. OTL's main "selling" points (besides the prices, of course ;) are power, simplicity, and openess. With just few lines of code, you can set up multiple threads, send messages between them, process Windows messages and more. OTL doesn't limit you in any way - if it is not powerfull enough for you, you can ignore any part of its "smartness" and replace it with your own code.
Clone the repository with Git or checkout the repository with SVN: https://github.com/gabr42/OmniThreadLibrary.git
Download the latest release (3.05): https://drive.google.com/file/d/0BwqVlLNTK4OxdU05UWs1Q3lSUmc/view?usp=sharing
Download an older release: https://drive.google.com/folderview?id=0BwqVlLNTK4OxVEgzZnZGM1FNMGc&usp=drive_web#list
If you have Delphi XE8 or newer, you can install OmniThreadLibrary via GetIt.
If you have Delphi XE or newer, you can install Delphinus package manager and install OmniThreadLibrary there. (Delphinus-Support)
Download and install the sources. Compile and install the OmniThreadLibrary package. Read the tutorials. Examine the demos, which are part of the OmniThreadLibrary download.
At the moment, OTL supports Delphi 2007, 2009, 2010, XE, XE2, XE3, XE4, XE5, XE6, XE7, XE8, and 10 Seattle on Win32 and Win64 platforms using the VCL framework. There are no plans to support older Delphi compilers. We are working on support for mobile devices, OS X, and FireMonkey.
Support is provided through the Google+ community.
There's a book (work in progress): Parallel Programming with OmniThreadLibrary.
Some recorder webinars are available: http://www.omnithreadlibrary.com/webinars.htm
Lots of articles are available on my blog: http://www.omnithreadlibrary.com/tutorials.htm