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

Recent releases

  •  04 Aug 2003 22:01

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

    •  01 Aug 2003 18:01

      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.

      •  27 Aug 2002 14:37

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

        •  13 Jul 2002 14:41

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

          •  03 Jul 2002 01:40

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

            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

            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.

            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

            OpenStack4j

            A Fluent OpenStack client API for Java.

            Screenshot

            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.