CINXE.COM

#include 'template.wml' #use wml::std::toc style=pre #use wml::std::box <set-var VERS="2.0.7"> <set-var DATE="08-Jun-2006"> # <set-var DEVVERS="1.4a4"> # <set-var DEVDATE="24-Mar-2001"> <p> # <box header="<b id=sf>Current State</b>" bdwidth=1 bdspace=6 bdcolor="#cccccc" bgcolor="#ffffff"> <table cellspacing=0 cellpadding=0 border=0> <tr> <td> Release Version: &nbsp; </td> <td> <a href="ftp://ftp.gnu.org/gnu/pth/pth-<get-var VERS>.tar.gz">\ GNU Pth <b><get-var VERS></b></a> &nbsp; </td> <td> (<get-var DATE>) </td> <td>&nbsp;&nbsp; <a href="http://cvs.ossp.org/pkg/lib/pth/ChangeLog">ChangeLog</a> </td> </tr> # <tr> # <td> Development Version: &nbsp; </td> <td> # <a href="ftp://alpha.gnu.org/gnu/pth/pth-<get-var DEVVERS>.tar.gz">\ # GNU Pth <b><get-var DEVVERS></b></a> &nbsp; </td> <td> (<get-var DEVDATE>)</td> # <td>&nbsp;&nbsp; <a href="ChangeLog-1.4.txt">ChangeLog</a> </td> # </tr> </table> # </box> <h2>Abstract</h2> <p> 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. <p> 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. <p> Additionally Pth provides an optional emulation API for POSIX.1c threads ("Pthreads") which can be used for backward compatibility to existing multithreaded applications. <p> <blockquote> Notice: <a href="http://www.gnu.org/software/pth/">GNU pth</a> and <a href="http://www.ossp.org/pkg/lib/pth/">OSSP pth</a> are exactly the same. <a href="http://www.ossp.org/pkg/lib/pth">OSSP pth</a> 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 <a href="http://www.ossp.org/">OSSP project</a> only. The companion OSSP locations are: <a href="http://www.ossp.org/pkg/lib/pth/">http://www.ossp.org/pkg/lib/pth/</a> and <a href="ftp://ftp.ossp.org/pkg/lib/pth/">ftp://ftp.ossp.org/pkg/lib/pth/</a>. </blockquote> <h2>Documentation</h2> GNU Pth is documented by a <a href="pth-manual.html">manual</a> which describes the functionality and API of the library in detail. This document is available in <a href="pth-manual.html">HTML</a>, <a href="pth-manual.dvi">DVI</a>, <a href="pth-manual.ps">Postscript</a> and <a href="pth-manual.pod">POD</a> format. Additionally there is a draft of the forthcoming paper <a href="rse-pmt.ps">Portable Multithreading</a> (Postscript) from the author. Finally the <a href="/brave-gnu-world/">Brave GNU World</a> column contains a short introduction to GNU Pth in its <a href="/brave-gnu-world/issue-7.en.html">Issue No. 7</a>. <h2>Distribution</h2> The distribution of the latest GNU Pth release version can be found on <A HREF="ftp://ftp.ossp.org/pkg/lib/pth/">ftp://ftp.ossp.org/pkg/lib/pth/</A> and <A HREF="ftp://ftp.gnu.org/gnu/pth/">ftp://ftp.gnu.org/gnu/pth/</A> (or one of <A HREF="/prep/ftp.html">the mirrors</A>). Alpha versions can be found on <A HREF="ftp://alpha.gnu.org/gnu/pth/">ftp://alpha.gnu.org/gnu/pth/</A>. For more details about the latest changes have a look at the change logfile <A HREF="http://cvs.ossp.org/pkg/lib/pth/ChangeLog">ChangeLog</A>. <h2>Bug Reports and Support</h2> If you think you have found a bug in GNU Pth, then you should send a report as complete as possible to <A HREF="mailto:bug-pth@gnu.org">&lt;bug-pth@gnu.org&gt;</A>. And if you can, please try to fix the problem and include a patch made with "<CODE>diff -u3</CODE>" in your report. Additionally there is a mailing list <A HREF="mailto:pth-users@gnu.org">&lt;pth-users@gnu.org&gt;</A> which you can join for support and discussions. Send a mail with ``<tt>subscribe pth-users</tt>'' in the body to <A HREF="mailto:pth-users-request@gnu.org">&lt;pth-users-request@gnu.org&gt;</A> Old messages of the mailing list are archived at <a href="http://www.mail-archive.com/pth-users@gnu.org/">http://www.mail-archive.com/pth-users@gnu.org/</a>. <h2>Further Reading</h2> For more details on available multithreading software, we have collected a <a href="related.html">list of multithreading libraries</a>. Use this to find Pth related projects and packages.

Pages: 1 2 3 4 5 6 7 8 9 10