#include 'template.wml'
#use wml::std::toc style=pre
#use wml::std::box
#
Pth is a very portable POSIX/ANSI-C based library for Unix platforms which
provides non-preemptive priority-based scheduling for multiple threads of
execution (aka ``multithreading'') inside event-driven applications. All
threads run in the same address space of the server application, but
each thread has it's own individual program-counter, run-time stack,
signal mask and errno variable.
The thread scheduling itself is done in a cooperative way, i.e., the threads
are managed by a priority- and event-based non-preemptive scheduler. The
intention is that this way one can achieve better portability and run-time
performance than with preemptive scheduling. The event facility allows
threads to wait until various types of events occur, including pending I/O on
filedescriptors, asynchronous signals, elapsed timers, pending I/O on message
ports, thread and process termination, and even customized callback functions.
Additionally Pth provides an optional emulation API for POSIX.1c threads
("Pthreads") which can be used for backward compatibility to existing
multithreaded applications.
#
#
Release Version:
\
GNU Pth (
ChangeLog
#
Development Version:
# \
# GNU Pth (
# ChangeLog
# Abstract
Notice: GNU pth and OSSP pth
are exactly the same. OSSP pth just became an official part of the GNU project
some time ago. That's why its primary name is now GNU pth, although it is
still developed by the OSSP project only. The companion OSSP locations
are: http://www.ossp.org/pkg/lib/pth/
and ftp://ftp.ossp.org/pkg/lib/pth/.
Documentation
GNU Pth is documented by a manual which
describes the functionality and API of the library in detail. This document is
available in HTML, DVI, Postscript and POD format. Additionally there is a draft of the
forthcoming paper Portable Multithreading
(Postscript) from the author. Finally the Brave
GNU World column contains a short introduction to GNU Pth in its Issue No. 7.
Distribution
The distribution of the latest GNU Pth
release version can be found on ftp://ftp.ossp.org/pkg/lib/pth/ and ftp://ftp.gnu.org/gnu/pth/
(or one of the mirrors). Alpha versions can be found on ftp://alpha.gnu.org/gnu/pth/.
For more details about the latest changes have a look at the change logfile
ChangeLog.
Bug Reports and Support
If you think you have found a bug in GNU Pth, then you should send a report as
complete as possible to <[email protected]>. And if you can,
please try to fix the problem and include a patch made with "diff
-u3
" in your report. Additionally there is a mailing list <[email protected]> which you can
join for support and discussions. Send a mail with ``subscribe
pth-users'' in the body to <[email protected]>
Old messages of the mailing list are archived at
http://www.mail-archive.com/[email protected]/.
Further Reading
For more details on available multithreading software, we have collected a list of multithreading libraries. Use this to find
Pth related projects and packages.