Tuesday, August 26, 2008

OmniThreadLibrary 1.0 released

After 164 repository commits and two months of development, OmniThreadLibrary 1.0 was released today.

There were little changes since the 1.0 beta, mostly regarding the TOmniValue record, which can now seamlessly hold Double, Extended and Boolean values.

OmniThreadLibrary 1.0 is available via SVN (http://omnithreadlibrary.googlecode.com/svn/tags/release-1.0) or as a ZIP archive.

If you like OmniThreadLibrary, spread the word around. After all, not every Delphi developer is reading my blog (yet ;). Feel free to include any parts of the marketing blurb (below).

What is OmniThreadLibrary?

OmniThreadLibrary is simple to use threading library for Delphi. It's main "selling" points (besides the price, 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.

OmniThreadLibrary is an open source project. It lives in the Google Code and is licensed under the BSD license.

At the moment, OmniThreadLibrary supports Delphi 2007 on the Win32 platform. It will support Delphi 2009 as soon as it's available. Currently, there are no plans to support older Delphi compilers and .NET.

Where can I get more imformation?

Home page: http://otl.17slon.com/

Web discussion forum: http://otl.17slon.com/forum/

Downloads: http://code.google.com/p/omnithreadlibrary/downloads/list

Issue tracker: http://code.google.com/p/omnithreadlibrary/issues/list

SVN checkout instructions: http://code.google.com/p/omnithreadlibrary/source/checkout

Author's blog: http://thedelphigeek.com

Author's home page: http://gp.17slon.com

Labels: , , , ,


Anonymous mouser said...

Congratulations.. really nice work.

Anonymous Anonymous said...

Come on Support Delphi 2006

Blogger gabr said...

Download the code, change it to support D2006 and send me the diff. Then I'll see if it is too much work to support both Delphis or not.

Blogger Donald Shimoda said...

Great works.
Any intention on support lazarus and linux?

Blogger gabr said...

Uh, I don't think so. But on the other hand I had no idea how compatible lazarus is with Delphi 2007. Probably not compatible enough.

OpenID lars said...

Nice work Gabr!

BTW: Did you ever read this article?
"Lock-Free Code: A False Sense of Security" by Herb Sutter

Blogger gabr said...

No, I didn't, but I will now :)

Thanks for the link!

Blogger Donald Shimoda said...

Gabr, is a lot compatible. more than you can believe. :)

So, maybe i will take a look in your code and comment how much is your code compatible with lazarus and delphi.

Best regards.

Blogger gabr said...

If lazarus can consume smart records and operator overloading then it is truly a great tool!

BTW, is Donald Shimoda your real name or alias? (Yes, I've read through all Bach's novels.)

Anonymous Anonymous said...

Gabr, great works!

It works fine on Delphi 2006, but some code changes are made.


{$IFDEF ConditionalExpression!s}
{$IF CompilerVersion >= 18} //D2006+
//{$DEFINE GpStuff_Inline}
{$DEFINE GpStuff_AlignedInt}
{$IF CompilerVersion >= 18.5} //D2007+
{$DEFINE GpStuff_AlignedInt}

Blogger gabr said...

Errr, is this OK? Didn't you mean to re-enable GpStuff_Inline for CompilerVersion >= 18.5?

Anonymous Anonymous said...

There is no problem in D2006.

{$IFDEF ConditionalExpression!s}
{$IF CompilerVersion >= 18} //D2006+
{$DEFINE GpStuff_Inline}
{$DEFINE GpStuff_AlignedInt}
{$IF CompilerVersion >= 18.5} //D2007+
{$DEFINE GpStuff_AlignedInt}

Maybe it's right.


Post a Comment

Links to this post:

Create a Link

<< Home