ToC DocOverview CGDoc RelNotes FAQ Index PermutedIndex
Allegro CL version 11.0

multiprocessing classes


barrier

Class, multiprocessing package

This is the class of the barrier object. Barriers are created with make-barrier. See Barrier API in smp.html.


condition-variable

Class, multiprocessing package

The class of condition-variables. See Condition Variables in smp.html.


pool-process

Class, multiprocessing package

This subclass of process is the class of all processes that participate in a pool. If an application specifies a class in make-process-pool, that class must include pool-process in its precedence list.

Only pool-process instances can be part of a process-pool.

See Process pools in multiprocessing.html for more information on process pools.


process

Class, multiprocessing package

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:

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.html.


process-lock

Class, multiprocessing package

The class of a process-lock object.

See multiprocessing.html.


process-pool

Class, multiprocessing package

The class of a process pool (created by, for example, make-process-pool). This class has a number of slots. Readers for these slots all take a process-pool instance as their single argument. Those that return process pool parameters include:

The following readers report on the status of a process-pool:

The following readers report statistics on pool behavior:

See Process pools in multiprocessing.html for more information on process pools.


process-pool-work-item

Class, multiprocessing package

This struct, instances of which are created by process-pool-run or by make-process-pool-work-item, holds information about what a process-pool process is supposed to do and the state of the work. It has the following slots:

See Process pools in multiprocessing.html for more information on process pools.


queue

Class, multiprocessing package

This is the class of queue objects. Queues are conceptually (but not necessarily implementationally) like first-in first-out lists, with objects being enqueued by being appended onto the end and dequeued by being popped off the front. Queues are more convenient than lists in a multiprocessing environment because enqueuing and dequeuing operations are atomic (they will complete without a process switch) and because dequeuing has a built-in wait capability. Queues have no intrinsic size limit.

Queues are created with make-instance. The following form will return a new queue:

(make-instance 'mp:queue)

See enqueue, dequeue, queue-empty-p, and Queues (both models) in multiprocessing.html.


sharable-lock

Class, multiprocessing package

This is the class of the sharable-lock object. Sharable locks are created with make-sharable-lock. See Sharable locks in smp.html.

To avoid conflicts with the process-lock class, these two classes do not share any inheritance. None of the legacy process-lock functions apply to sharable locks and vice versa.


sharable-lock-error

Class, multiprocessing package

The superclass of all the sharable-lock errors

See Sharable locks in smp.html.


sharable-lock-interrupted-error

Class, multiprocessing package

This error is signaled if a function called via process-interrupt attempts to obtain a lock while the process is in the middle of obtaining an exclusive lock. In that state, the process must allow interruptions but cannot allow any access to the lock from the same process. The only action possible is for the process-interrupt function to propagate the error to the caller of process-interrupt, where a second attempt may succeed.

See Sharable locks in smp.html.


sharable-lock-recursion-error

Class, multiprocessing package

This error is signalled when recursive or repeated locking is not allowed.

See Sharable locks in smp.html.


sharable-lock-unlock-error

Class, multiprocessing package

This error is signalled when an attempt is made to unlock a lock that is not locked, or not owned by the current process.

See Sharable locks in smp.html.


stack-group

Class, multiprocessing package

This class is no longer supported.


Copyright (c) 2023, Franz Inc. Lafayette, CA., USA. All rights reserved.

ToC DocOverview CGDoc RelNotes FAQ Index PermutedIndex
Allegro CL version 11.0