blob: 20410fa1fa3eb654f7f3cc3c5a5a4f96352115e8 (
plain) (
tree)
|
|
GNU pth - GNU Portable Threads
Copyright (c) 1999 Ralf S. Engelschall <rse@engelschall.com>
GNU pth is a very portable POSIX/ANSI-C based library for Unix platforms which
provides non-preemptive scheduling for multiple threads of execution
("multithreading") inside server 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.
The documentation and latest release can be found on
o http://www.gnu.org/software/pth/
o ftp://alpha.gnu.org/gnu/pth/
|