aboutsummaryrefslogtreecommitdiffstats
path: root/devel/pth/pkg-descr
blob: 29d27ff7db90bba57ad5c036ece732dbe145ead4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
NPS - Non-Preemtive Thread Scheduling Library
Copyright (c) 1999 Ralf S. Engelschall.

NPS is a POSIX/ANSI-C based library for Unix platforms which
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/