Hi!
I'm going to release Freecell Solver 1.6.0 and afterwards I'll start
working on the thread-enabled version, which will eventually be released as
Freecell
Solver 2.0. I would like to write the same code for both UNIX and Win32
(and other platforms if possible) so I took a look at some thread
abstraction libraries.
Here's what I found:
1. ACE (
http://www.cs.wustl.edu/~schmidt/ACE.html)
There's much more in it than just threads, but there are abstractions for
thread and synchronization objects all right. Runs on all UNIXes, Win32,
OS/390 and various embedded operating systems.
My problem with it is that it's:
A. A C++-library while FCS is written in ANSI C.
B. Quite heavyweight, takes a lot of time to compile, so I wouldn't like
people to depend on it.
2. ZThread (
http://zthread.sourceforge.net/)
A C++ wrapper around Win32 threads or POSIX threads. My main problem with
it is that it is based on C++ and so again there will be problems
integrating it with the rest of the code.
3. POSIX threads for Win32 (
http://sources.redhat.com/pthreads-win32/)
Provides a POSIX threads emulation layer above Win32 threads. Has
pre-compiled binaries.
As it seems, I am going to use it, because it is an ANSI C library, and the
FCS code will compile without any special requirements from the user on UNIXes.
4. Apache's Portable Run-Time (
http://www.ntrnet.net/~rbb/apr.html)
An ANSI C abstraction for POSIX, Win32, BeOS and one or two other systems.
Doesn't cover only threads, but not as large-scope as ACE is. Does not give
abstractions for all the synchronization mechanisms (only for locks), and
from what I know I might need mutexes and semaphores.
Does anybody knows of anything else that could serve our purpose,
preferably in ANSI C?
Mutli-threadedly yours,
Shlomi Fish
----------------------------------------------------------------------
Shlomi Fish shlomif_at_techie.com
Home Page:
http://t2.technion.ac.il/~shlomif/
I don't believe in fairies. Oops! A fairy died.
I don't believe in fairies. Oops! Another fairy died.
Received on Tue Apr 10 2001 - 08:02:04 IDT