A simple and powerful multithreading library for Delphi
Latest commit 9eadb98 Aug 16, 2018
Failed to load latest commit information.
bag of stuff 3.07.5 release Feb 28, 2018
doc execution model drawing for TimedTask Apr 10, 2017
examples fixed incorrect program logic Nov 26, 2016
packages [Thomas Mueller] fixed Delphi 2007 packages May 12, 2018
res Initial Delphinus support Aug 30, 2015
src Update DSiWin32.pas Aug 10, 2018
tests fixed test 00_Beep Aug 16, 2018
unittests removed hints May 26, 2018
.gitignore updated 'ignores' Mar 12, 2018
Clean.bat + added "Clean.bat" to remove all automatically created files. Call t… Oct 30, 2012
Delphinus.Info.json added Tokyo to Delphinus config May 19, 2017
Delphinus.Install.json added Tokyo to Delphinus config May 19, 2017
LICENSE.txt + added license and readme Apr 16, 2015
OtlCollections.pas fixed compilation with older Delphis Mar 12, 2018
OtlComm.pas fixed exception in TOmniMessageQueue destructor Jan 16, 2018
OtlCommBufferTest.pas imported 'mobile' branch (partially) into OtlContainers and OtlContai… Oct 3, 2015
OtlCommon.Utils.pas removed warnings May 26, 2018
OtlCommon.pas Fixed TOmniAlignedInt[32|64].Add/.Subtract May 21, 2018
OtlContainerObserver.pas fixed bad merge; compiles again for 2007/2009 Aug 9, 2018
OtlContainers.pas fixed race condition in TOmniBaseBoundedQueue.RemoveLink Apr 18, 2018
OtlDataManager.pas Fixed TOmniAlignedInt[32|64].Add/.Subtract May 21, 2018
OtlEventMonitor.dcr Class TOmniTaskEventDispatch renamed to TOmniEventMonitor. Jul 26, 2008
OtlEventMonitor.pas Update OtlEventMonitor.pas Aug 8, 2018
OtlHooks.pas merged in NUMA changes Oct 17, 2016
OtlLogger.pas OtlParallel and OtlLogger corrected for non-Windows platforms Oct 4, 2015
OtlOptions.inc amended documentation Aug 9, 2018
OtlParallel.pas more functions can be inlined Oct 19, 2017
OtlRegister.pas imported 'mobile' branch (partially) into OtlContainers and OtlContai… Oct 3, 2015
OtlSuperObject.pas imported 'mobile' branch (partially) into OtlContainers and OtlContai… Oct 3, 2015
OtlSync.pas removed warnings May 26, 2018
OtlTask.pas IOmniTask implements method InvokeOnSelf Aug 1, 2017
OtlTaskControl.pas Update OtlTaskControl.pas Aug 8, 2018
OtlThreadPool.pas Update OtlThreadPool.pas Aug 8, 2018
README.md updated github home Mar 12, 2018
doalltests.bat updates command line window title Jul 27, 2015
history.txt fixed test 00_Beep Aug 16, 2018
makedownload.bat ! history.txt will do, *.txt includes FastMM4 reports Mar 1, 2015


What is OmniThreadLibrary?

OmniThreadLibrary is a powerful threading library for Delphi. OmniThreadLibrary'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. OmniThreadLibrary 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.

How do I get OmniThreadLibrary?

Clone the latest version or follow the trunk.

Download the latest release.

Download an older release.

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)

How do I use OmniThreadLibrary?

Download and install the sources. Compile and install the OmniThreadLibrary package. Read the tutorials. Examine the demos, which are part of the OmniThreadLibrary download.

Is OmniThreadLibrary supported on my platform?

At the moment, OTL supports Delphi 2007, 2009, 2010, XE, XE2, XE3, XE4, XE5, XE6, XE7, XE8, 10 Seattle, 10.1 Berlin, and 10.2 Tokyo 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.

How do I get support?

Support is provided through the Google+ community.

Where can I get more information?

Go to www.omnithreadlibrary.com.