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 Software Development Libraries Operating Systems
Licenses LGPL GPL
Operating Systems POSIX Windows Windows Mac OS X
Implementation C++

Tweet this project Short link

Rss Recent releases

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

Changes: 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.

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

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

Changes: Support for MacOS, and misc. updates for vanilla primatives & build files.

Rss Recent comments

Rcomment-before 30 Jan 2009 23:26 Rcomment-trans gdscott Rcomment-after

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????

Rcomment-before 03 Aug 2007 03:19 Rcomment-trans squawking Rcomment-after

Re: Won't Compile
See diffs required here:

http://aur.archlinux.org/packages/zthread/zthread/zthread-gcc4.patch

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.

http://bruce-eckel.developpez.com/livres/cpp/ticpp/v2/?page=page_14#L3.4.2.1

http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html

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.

Rcomment-before 05 Sep 2006 11:16 Rcomment-trans mejenn01 Rcomment-after

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.... ;-)

Rcomment-before 03 Sep 2006 07:20 Rcomment-trans shlomoa Rcomment-after

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()

Rcomment-before 26 Dec 2004 20:09 Rcomment-trans mejenn01 Rcomment-after

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)

58f2921ccd12179254fe590d7b6db847_thumb

Project Spotlight

The Contiki Operating System

A networked OS for memory constrained systems.

097a9899dc5a6184c422609713c15243_thumb

Project Spotlight

Picard

An advanced MusicBrainz tagger.