472,953 Members | 1,824 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,953 software developers and data experts.

Seeking feedback on C++ ZThreads: good or bad experiences (vs Boost, pthreads, etc)?

My team currently using Boost Threads, but we are considering
switching to ZThreads. (We seek cross-platform, C++ multithreading
capabilities in an external library.)

ZThread(s):

http://zthread.sourceforge.net/
http://www.inf.uni-konstanz.de/dbis/...nnik/zsim/doc/

Can anyone share their ZThreads experience, either good, bad, or
indifferent? If you have time, can you also contrast ZThreads with
alternative, cross-platform threading libraries (as per:
http://www.codeguru.com/forum/showthread.php?t=413251 ).

Also note:

http://www.codeguru.com/forum/showthread.php?t=413255

Best regards,
Matt
--
Dispersed Storage: http://cleversafe.org
Jan 30 '07 #1
8 6155
To email me directly, please remove the "downwithspammers-" text.

-Matt

On Tue, 30 Jan 2007 17:33:48 -0600, Matt England
<ma**@downwithspammers-mengland.netwrote:
>My team currently using Boost Threads, but we are considering
switching to ZThreads. (We seek cross-platform, C++ multithreading
capabilities in an external library.)

ZThread(s):

http://zthread.sourceforge.net/
http://www.inf.uni-konstanz.de/dbis/...nnik/zsim/doc/
Jan 30 '07 #2
Matt England wrote:
My team currently using Boost Threads, but we are considering
switching to ZThreads. (We seek cross-platform, C++ multithreading
capabilities in an external library.)
I guess the obvious question is why?

What are your specific requirements that boost doesn't meet and ZThreads
does?

--
Ian Collins.
Jan 31 '07 #3
In article <i3********************************@4ax.com>,
Matt England <ma**@downwithspammers-mengland.netwrote:
My team currently using Boost Threads, but we are considering
switching to ZThreads. (We seek cross-platform, C++ multithreading
capabilities in an external library.)

ZThread(s):

http://zthread.sourceforge.net/
http://www.inf.uni-konstanz.de/dbis/...nnik/zsim/doc/

Can anyone share their ZThreads experience, either good, bad, or
indifferent? If you have time, can you also contrast ZThreads with
alternative, cross-platform threading libraries (as per:
http://www.codeguru.com/forum/showthread.php?t=413251 ).

Also note:

http://www.codeguru.com/forum/showthread.php?t=413255
Wow, your post is most timely Matt. I'm most interested in what
features of Boost Threads you liked and disliked, the reasons for your
contemplating a move, and what features you are anticipating will solve
your problems with ZThread.

Howard Hinnant
Library Working Group Chairman, C++ Standards Committee
Jan 31 '07 #4
On Tue, 30 Jan 2007 17:33:48 -0600, Matt England wrote:
>My team currently using Boost Threads, but we are considering
switching to ZThreads. (We seek cross-platform, C++ multithreading
capabilities in an external library.)
You may also consider pthreads (C not C++) for which a Windows
implementation is also available:
http://sourceware.org/pthreads-win32/

Best wishes,
Roland Pibinger
Jan 31 '07 #5
On Jan 30, 6:36 pm, Howard Hinnant <howard.hinn...@gmail.comwrote:
Matt England <m...@downwithspammers-mengland.netwrote:

Wow, your post is most timely Matt. I'm most interested in what
features of Boost Threads you liked and disliked, the reasons for your
contemplating a move, and what features you are anticipating will solve
your problems with ZThread.

Howard Hinnant
Library Working Group Chairman, C++ Standards Committee- Hide quoted text -
The most obvious thing that jumps out to me is that ZThreads has more
pre-built high-level abstractions than Boost Threads (and a few more
low-level primitives too).

For example, ZThreads provides the following while Boost threads does
not:
- Thread pools (PoolExecutor)
- Semaphore class
- Atomic integer

While Boost threads' documentation mentions that the next phase will
include more high-level concepts, Boost threads doesn't seem to have
been updated in a 18 months.

The good things about both libraries is that they are written in C++
(as opposed to the pthreads library which is a C library). The thing
that bothers me with both ZThreads and Boost threads is that neither
support inter-process semaphores (or for that matter inter-process
threads) nor shared memory functionality. Windows threads API and
most implementations of pthreads (including those on Solaris, Linux
kernels 2.6 and later, Win32 implementation of pthreads) support
interprocess-semaphores. Windows and many POSIX implementations
support shared memory functionality. And as far as atomic operations
goes, ZThreads only seems to support atomic increment and decrement --
no atomic compare and swap functionality.

As far as naming goes and general class design, I prefer Boost
threads. The naming conventions is more in-line with the C++ standard
libraries and the rest of Boost. The general class design seems very
well thought out as well. (I wouldn't have implemented many of the
concepts in ZThreads differrently - why have a FastMutex class that
seems to have the same interface as the plain Mutex class?) I just
feel that Boost threads is too incomplete and that despite the promise
made in its documentation, it hasn't really been actively worked on in
a while.

So, a worthy question is what do I use in applications that I have to
write? I have resorted to writing my own cross-platform library that
focusses more on interprocess-primitives, shared memory, and atomic
operations as these are more important to the work that I do.

- Kevin Hall

Jan 31 '07 #6
On Jan 31, 7:44 am, Z.Me...@gmail.com wrote:
support inter-process semaphores (or for that matter inter-process
threads)
Forgive me... my son kept me up all night and I'm pretty tired.
Obviously, inter-process threads doesn't make any sense.

I meant to say:
"(or for that matter inter-process mutexes.)"

Jan 31 '07 #7
On Jan 30, 6:36 pm, Howard Hinnant <howard.hinn...@gmail.comwrote:
In article <i3lvr25d4muuls5qb9rq5bss2o2ij4c...@4ax.com>,
Matt England <m...@downwithspammers-mengland.netwrote:
My team currently using Boost Threads, but we are considering
switching to ZThreads. (We seek cross-platform, C++ multithreading
capabilities in an external library.)
ZThread(s):
http://zthread.sourceforge.net/
http://www.inf.uni-konstanz.de/dbis/...nnik/zsim/doc/
Can anyone share their ZThreads experience, either good, bad, or
indifferent? If you have time, can you also contrast ZThreads with
alternative, cross-platform threading libraries (as per:
http://www.codeguru.com/forum/showthread.php?t=413251).
Also note:
http://www.codeguru.com/forum/showthread.php?t=413255

Wow, your post is most timely Matt. I'm most interested in what
features of Boost Threads you liked and disliked, the reasons for your
contemplating a move, and what features you are anticipating will solve
your problems with ZThread.

Howard Hinnant
Library Working Group Chairman, C++ Standards Committee

I agree with the other poster about thread pools. As multi-core CPUs
become increasingly common, the use of threads solely to speed up
parallelizable processes will be prevalent. For this, having thread
pools is essential.

It appears that Boost.Threads is not actively developed. There was a
DDJ article as far back as April 15, 2003 about Boost.Threads that
mentioned that boost::thread_pool was a planned feature, but I don't
think this feature was ever delivered.

Feb 2 '07 #8
On Jan 30, 6:36 pm, Howard Hinnant <howard.hinn...@gmail.comwrote:
Wow, your post is most timely Matt. I'm most interested in what
features of Boost Threads you liked and disliked, the reasons for your
contemplating a move, and what features you are anticipating will solve
your problems with ZThread.
Also, for the reasons I mentioned, I think it would be nice to have a
portable way to determine the number of CPUs/cores, to avoid spawning
too many threads.

Feb 2 '07 #9

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: has | last post by:
Hi all, I'm looking for feedback and/or help with preparing my HTMLTemplate module for its version 1.0 release: http://freespace.virgin.net/hamish.sanderson/htmltemplate.html The code and...
17
by: beliavsky | last post by:
Many of my C++ programs have the line using namespace std; but the "Accelerated C++" book of Koenig and Moo has many examples where the library names are included one at a time, for example ...
7
by: Borked Pseudo Mailed | last post by:
Seeking feedback on Password Protection via Java/JavaScript ONLY (no cgi): SEE: http://online_tools.home.att.net/tools.html *AND* http://online_tools.home.att.net/extraCode.htm Thanks.
1
by: cpptutor2000 | last post by:
Could some C guru help me? I am looking for a reference - book, URL that has a good treatment of pthreads. I am really interested in knowing if there is a way to know when a thread releases a...
0
by: Arnaud Debaene | last post by:
Hello all. I've got a bunch of existing, non managed, C++ DLLs that export types with, among other things, public events implemented using the boost::signals library. Now, I need to have...
3
by: adleyman | last post by:
Wondering if anyone has experience or war stories about ZThreads. Thikning of using it, but can't really find much talk about it. Anyone using ZThreads care to share opinions?
9
by: Peter v. N. | last post by:
Hi all, First off: consider this to be a low priority thread! This may sound heretical: but I'd like to know what the community thinks about using Boost extensively in C++ projects (mainly...
0
by: jorge_martelanz | last post by:
I would like to receive experiences/ideas/recomendations/etc. from the community about commercial tools available to tune bufferpools in DB2 for z/OS I am aware of: - BPA4DB2 by ESAI - Buffer...
6
by: Lambda | last post by:
Hi All, I'm trying Boost in my Ubuntu machine for the first time. It's a simple code that use tuple. But when I g++ it, it says: tuple: no such file or directory I installed boost 1.33.1,...
0
by: Mushico | last post by:
How to calculate date of retirement from date of birth
2
by: DJRhino | last post by:
Was curious if anyone else was having this same issue or not.... I was just Up/Down graded to windows 11 and now my access combo boxes are not acting right. With win 10 I could start typing...
0
by: Aliciasmith | last post by:
In an age dominated by smartphones, having a mobile app for your business is no longer an option; it's a necessity. Whether you're a startup or an established enterprise, finding the right mobile app...
0
tracyyun
by: tracyyun | last post by:
Hello everyone, I have a question and would like some advice on network connectivity. I have one computer connected to my router via WiFi, but I have two other computers that I want to be able to...
2
by: giovanniandrean | last post by:
The energy model is structured as follows and uses excel sheets to give input data: 1-Utility.py contains all the functions needed to calculate the variables and other minor things (mentions...
4
NeoPa
by: NeoPa | last post by:
Hello everyone. I find myself stuck trying to find the VBA way to get Access to create a PDF of the currently-selected (and open) object (Form or Report). I know it can be done by selecting :...
1
by: Teri B | last post by:
Hi, I have created a sub-form Roles. In my course form the user selects the roles assigned to the course. 0ne-to-many. One course many roles. Then I created a report based on the Course form and...
3
by: nia12 | last post by:
Hi there, I am very new to Access so apologies if any of this is obvious/not clear. I am creating a data collection tool for health care employees to complete. It consists of a number of...
0
isladogs
by: isladogs | last post by:
The next online meeting of the Access Europe User Group will be on Wednesday 6 Dec 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, Mike...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.