HPUX TASK.INTRO[3]

TASK.INTRO(3C++) TASK.INTRO(3C++)
C++ Task Library
NAME
task - coroutines, multiple threads of control, C++ task library
SYNOPSIS
#include <task.h>
class object;
class sched : public object;
class timer : public sched;
class task : public sched;
class qhead : public object;
class qtail : public object;
class Interrupt_handler : public object;
class histogram;
class randint;
class urand : public randint;
class erand : public randint;
DESCRIPTION
The C++ task library provides facilities for writing programs with
multiple threads of control within one UNIX system process. Each
thread of control is a task or coroutine. Each task is an instance of
a user-defined class derived from class task, and the main program of
the task is the constructor of its class. A task can be suspended and
resumed without interfering with its internal state. Each task runs
until it explicitly gives up the processor; there is no pre-emption.
Most classes in the task system are derived from the base class
object. The base class sched is responsible for scheduling and for
the functionality that is common to tasks and timers. Class sched is
meant to be used strictly as a base class, that is, it is illegal to
create objects of class sched. Class task must also be used only as a
base class. The programmer must derive a class from class task, and
provide a constructor to serve as the task's main program. The task
system can be used for writing event-driven simulations. tasks
execute in a simulated time frame. Objects of class timer provide a
facility for implementing time-outs and other time-dependent
phenomena. Classes task, timer, sched, and object and their public
member functions are described on the task(3C++) manual page.
Classes qhead and qtail enable a wide range of message-passing and
data-buffering schemes to be implemented simply. These classes are
described on the queue(3C++) manual page.
Class Interrupt_handler provides an interface for writing classes that
can wait for external events using UNIX system signals. These classes
are described on the interrupt(3C++) manual page.
- 1 - Formatted: August 11, 1996
TASK.INTRO(3C++) TASK.INTRO(3C++)
C++ Task Library
Class histogram aids data gathering. Classes randint, urand, and
erand provide random number generation. These four classes are
described on the tasksim(3C++) manual page.
SEE ALSO
task(3C++), queue(3C++), interrupt(3C++), tasksim(3C++)
Stroustrup, B. and Shopiro, J. E., ``A Set of C++ Classes for Co-
routine Style Programming,'' in Chapter 2 of the C++ Language System
Library Manual.
Shopiro, J. E., ``Extending the C++ Task System for Real-Time
Control,'' in Chapter 2 of the C++ Language System Library Manual.
- 2 - Formatted: August 11, 1996