| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version |
The class of a process object. In releases prior to 7.0, this was a structure class. Starting in 7.0, it is a standard CLOS class. It can usefully be subclassed. Each process is represented by an instance of this class (or of an application-defined subclass).
Instances of mp:process
have these user-visable slots:
thread
(reader: process-thread): is a lisp thread
structure holding low-level information. process-thread (and the no-longer
used process-stackgroup) used to be nil
until the process was made active. This was not a
documented feature, but was used as a test of the process state in
some code. Such uses will need to be changed. Use process-active-p.
property-list
(accessor: process-property-list) is a place
for application-specific properties.
priority
(accessor: process-priority) Has the
user-specified process priority. Default is 0. Higher priority values
mean higher priority. In general, the highest priority ready process
will be running, although this is a little fuzzy in native-thread
models because a foreign call that released the heap may allow
parallel execution.
quantum
(accessor: process-quantum) number of seconds
this process can hold the lisp heap before it will allow other ready
processes a chance to run.
exit-actions
(accessor: process-exit-actions) A list of
actions of the form (function . arguments)
. When
the process finishes, either normally or via an unwinding kill, it
executes the actions by applying the functions to their argument
lists.
The rest of the process data is kept in the thread object; for example, process-name accesses a slot in the thread object.
See multiprocessing.htm.
Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.2 page.
Created 2012.5.30.
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version |