1999-05-23 14:54:10 +00:00
|
|
|
NPS - Non-Preemtive Thread Scheduling Library
|
|
|
|
Copyright (c) 1999 Ralf S. Engelschall.
|
|
|
|
|
1999-06-09 07:00:46 +00:00
|
|
|
NPS is a portable POSIX/ANSI-C based library for Unix platforms which
|
1999-05-23 14:54:10 +00:00
|
|
|
provides non-preemtive scheduling for multiple threads of execution
|
|
|
|
("multi-threading") inside server applications. All threads run in the
|
|
|
|
same address space of the server application, but each thread has it's
|
|
|
|
own individual run-time stack and program-counter.
|
|
|
|
|
|
|
|
The thread scheduling itself is done in a cooperative way, i.e. the
|
|
|
|
threads are managed by a priority- and event-based non-preemtive
|
|
|
|
scheduler. The intention is that this way one can achieve better
|
|
|
|
portability and run-time performance than with preemtive scheduling.
|
|
|
|
The event facility allows threads to wait until various types of events
|
|
|
|
occur, including pending I/O on filedescriptors, 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
|
|
|
|
http://www.engelschall.com/sw/nps/
|
|
|
|
ftp://ftp.engelschall.com/sw/nps/
|