Projects / ZThread

ZThread

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
Licenses
Operating Systems
Implementation

RSS 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.

RSS Recent comments

29 Oct 2009 15:01 froehli

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 gdscott

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 squawking Thumbs up

Re: Won't Compile
See diffs required here:

aur.archlinux.org/pack...

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.

bruce-eckel.developpez...

www.mindview.net/Books...

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 mejenn01

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&ltLockType&gt::isDisabled()

Given that the last release was in 2003, I'm not holding my breath for an update.... ;-)

03 Sep 2006 07:20 shlomoa

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&ltLockType&gt::isDisabled()

Screenshot

Project Spotlight

libsrs2

An SRS email address rewriting engine.

Screenshot

Project Spotlight

pdnsd

A proxy DNS server with permanent cache for dial-up systems and small networks.