ZThread is an advanced object-oriented threading and synchronization library, implemented in C++ for POSIX, MacOS, and Win32 systems. It provides an excellent and powerful abstraction from native threads. It includes interruptible thread objects and several other synchronization control objects.
| Tags | Software Development Libraries Operating Systems |
|---|---|
| Licenses | LGPL GPL |
| Operating Systems | POSIX Windows Windows Mac OS X |
| Implementation | C++ |
Recent releases


Release Notes: A bug in ConcurrentExecutor/PoolExecutor has been fixed. Cancel() is optional, as it should be.


Release Notes: New functionality for Executors (optional waiting and task grouping), improvements to the Thread interface (optional waiting, no need to distinguish between daemon and non-daemon threads). ThreadLocal improvements and CountedPtr improvements. In general, things have undergone an overhaul resulting in a much more usable interface.


Release Notes: The changes that have been accumulating in CVS have been rolled up.


Release Notes: This release fixes an oversight in ThreadQueue that prevented daemon threads from being properly joined.


Release Notes: Support for MacOS, and misc. updates for vanilla primatives & build files.
Recent comments
29 Oct 2009 15:01
Should anyone experience the same problem as the previous poster: under Mac OS, you need to link your program against the carbon framework for ZThread to work properly.
Example:
g++ -o test test.cpp -framework Carbon -lZThread
30 Jan 2009 23:26
Zthreads on Mac OS X
I created a simple C++ program on Macbook Pro (Leopard
10.5.6) to play with the ZThreads open source framework. I
downloaded the ZThread 2.3.2 source from sourceforge and
compiled it (eg.. ./configure -> make -> make install). I
built my test application using Eclipse and linked the
ZThread.la library into my application. The application
compiles/links successfully but when I try run my application
within the Eclipse IDE, I get the following errors:
dyld: lazy symbol binding failed: Symbol not found:
__MPIsFullyInitialized
Referenced from: /usr/local/lib/libZThread-2.3.2.dylib
Expected in: flat namespace
dyld: Symbol not found: __MPIsFullyInitialized
Referenced from: /usr/local/lib/libZThread-2.3.2.dylib
Expected in: flat namespace
Any ideas on what could be causing these errors????
03 Aug 2007 03:19
Re: Won't Compile
See diffs required here:
I've done them and it compiles fine on g++ 3.4.6
Is ZThreads really dead? I'm trying to contact the author to find out. Thinking in cpp has a good introduction to the library.
I'm going to give ZThreads a good work out as I need a thread library for a commercial project and don't want to write my own again. Be interested in other people's experiences.
05 Sep 2006 11:16
Re: Won't Compile
>
> New g++ requires strict definition, this
> function is considered anonymous since
> the one intended is inherited.
> What you should do is replace:
> isDisabled()
> With
> LockHolder<LockType>::isDisabled()
Given that the last release was in 2003, I'm not holding my breath for an update.... ;-)
03 Sep 2006 07:20
Re: Won't Compile
> In file included from
> vanilla/SimpleAtomicCount.cxx:25,
> from
> AtomicCount.cxx:50:
> ../include/zthread/Guard.h: In
> destructor `ZThread::Guard<LockType,
> LockingPolicy>::~Guard()':
> ../include/zthread/Guard.h:493: error:
> there are no arguments to `isDisabled'
> that depend on a template parameter, so
> a declaration of `isDisabled' must be
> available
> ../include/zthread/Guard.h:493: error:
> (if you use `-fpermissive', G++ will
> accept your code, but allowing the use
> of an undeclared name is deprecated)
>
New g++ requires strict definition, this function is considered anonymous since the one intended is inherited.
What you should do is replace:
isDisabled()
With
LockHolder<LockType>::isDisabled()