The cl-simple-concurrent-jobs Reference Manual

This is the cl-simple-concurrent-jobs Reference Manual, version 1.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 15:42:52 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 cl-simple-concurrent-jobs

A simple API for running concurrent jobs and collecting the results

Author

Jordan Rhys Powell

License

BSD 2-Clause

Version

1.0.0

Dependencies
  • bordeaux-threads (system).
  • chanl (system).
Source

cl-simple-concurrent-jobs.asd.

Child Component

src (module).


3 Modules

Modules are listed depth-first from the system components tree.


3.1 cl-simple-concurrent-jobs/src

Source

cl-simple-concurrent-jobs.asd.

Parent Component

cl-simple-concurrent-jobs (system).

Child Components

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


4.1 Lisp


4.1.1 cl-simple-concurrent-jobs/cl-simple-concurrent-jobs.asd

Source

cl-simple-concurrent-jobs.asd.

Parent Component

cl-simple-concurrent-jobs (system).

ASDF Systems

cl-simple-concurrent-jobs.


4.1.2 cl-simple-concurrent-jobs/src/packages.lisp

Source

cl-simple-concurrent-jobs.asd.

Parent Component

src (module).

Packages

cl-simple-concurrent-jobs.


4.1.3 cl-simple-concurrent-jobs/src/scj.lisp

Dependency

packages.lisp (file).

Source

cl-simple-concurrent-jobs.asd.

Parent Component

src (module).

Public Interface
Internals

5 Packages

Packages are listed by definition order.


5.1 cl-simple-concurrent-jobs

A simple API for running concurrent jobs

Source

packages.lisp.

Nickname

cl-scj

Use List

common-lisp.

Public Interface
Internals

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


6.1 Public Interface


6.1.1 Ordinary functions

Function: add-job (je callable)
Package

cl-simple-concurrent-jobs.

Source

scj.lisp.

Function: create-job-executor (&key num-threads)
Package

cl-simple-concurrent-jobs.

Source

scj.lisp.

Function: has-all-results (je)
Package

cl-simple-concurrent-jobs.

Source

scj.lisp.

Function: join-results (je)
Package

cl-simple-concurrent-jobs.

Source

scj.lisp.

Function: stop (je)
Package

cl-simple-concurrent-jobs.

Source

scj.lisp.


6.1.2 Standalone methods

Method: initialize-instance :after ((je jobexecutor) &key)
Source

scj.lisp.


6.2 Internals


6.2.1 Macros

Macro: with-job-executor-lock ((worker) &body body)
Package

cl-simple-concurrent-jobs.

Source

scj.lisp.


6.2.2 Ordinary functions

Function: append-result (je result)
Package

cl-simple-concurrent-jobs.

Source

scj.lisp.

Function: cleanup-threads (je)
Package

cl-simple-concurrent-jobs.

Source

scj.lisp.

Function: create-job-worker (je)
Package

cl-simple-concurrent-jobs.

Source

scj.lisp.

Function: finish-and-return-results (je)
Package

cl-simple-concurrent-jobs.

Source

scj.lisp.


6.2.3 Generic functions

Generic Reader: chanl-tasks (object)
Package

cl-simple-concurrent-jobs.

Methods
Reader Method: chanl-tasks ((jobexecutor jobexecutor))

automatically generated reader method

Source

scj.lisp.

Target Slot

chanl-tasks.

Generic Writer: (setf chanl-tasks) (object)
Package

cl-simple-concurrent-jobs.

Methods
Writer Method: (setf chanl-tasks) ((jobexecutor jobexecutor))

automatically generated writer method

Source

scj.lisp.

Target Slot

chanl-tasks.

Generic Reader: channel (object)
Package

cl-simple-concurrent-jobs.

Methods
Reader Method: channel ((jobexecutor jobexecutor))

automatically generated reader method

Source

scj.lisp.

Target Slot

channel.

Generic Reader: completion-condition (object)
Package

cl-simple-concurrent-jobs.

Methods
Reader Method: completion-condition ((jobexecutor jobexecutor))

automatically generated reader method

Source

scj.lisp.

Target Slot

completion-condition.

Generic Reader: je-lock (object)
Package

cl-simple-concurrent-jobs.

Methods
Reader Method: je-lock ((jobexecutor jobexecutor))

automatically generated reader method

Source

scj.lisp.

Target Slot

je-lock.

Generic Reader: num-results-expected (object)
Package

cl-simple-concurrent-jobs.

Methods
Reader Method: num-results-expected ((jobexecutor jobexecutor))

automatically generated reader method

Source

scj.lisp.

Target Slot

num-results-expected.

Generic Writer: (setf num-results-expected) (object)
Package

cl-simple-concurrent-jobs.

Methods
Writer Method: (setf num-results-expected) ((jobexecutor jobexecutor))

automatically generated writer method

Source

scj.lisp.

Target Slot

num-results-expected.

Generic Reader: num-results-got (object)
Package

cl-simple-concurrent-jobs.

Methods
Reader Method: num-results-got ((jobexecutor jobexecutor))

automatically generated reader method

Source

scj.lisp.

Target Slot

num-results-got.

Generic Writer: (setf num-results-got) (object)
Package

cl-simple-concurrent-jobs.

Methods
Writer Method: (setf num-results-got) ((jobexecutor jobexecutor))

automatically generated writer method

Source

scj.lisp.

Target Slot

num-results-got.

Generic Reader: num-threads (object)
Package

cl-simple-concurrent-jobs.

Methods
Reader Method: num-threads ((jobexecutor jobexecutor))

automatically generated reader method

Source

scj.lisp.

Target Slot

num-threads.

Generic Reader: results (object)
Package

cl-simple-concurrent-jobs.

Methods
Reader Method: results ((jobexecutor jobexecutor))

automatically generated reader method

Source

scj.lisp.

Target Slot

results.

Generic Writer: (setf results) (object)
Package

cl-simple-concurrent-jobs.

Methods
Writer Method: (setf results) ((jobexecutor jobexecutor))

automatically generated writer method

Source

scj.lisp.

Target Slot

results.

Generic Reader: should-run (object)
Package

cl-simple-concurrent-jobs.

Methods
Reader Method: should-run ((jobexecutor jobexecutor))

automatically generated reader method

Source

scj.lisp.

Target Slot

should-run.

Generic Writer: (setf should-run) (object)
Package

cl-simple-concurrent-jobs.

Methods
Writer Method: (setf should-run) ((jobexecutor jobexecutor))

automatically generated writer method

Source

scj.lisp.

Target Slot

should-run.


6.2.4 Classes

Class: jobexecutor
Package

cl-simple-concurrent-jobs.

Source

scj.lisp.

Direct methods
Direct slots
Slot: num-threads
Initargs

:num-threads

Readers

num-threads.

Writers

This slot is read-only.

Slot: chanl-tasks
Readers

chanl-tasks.

Writers

(setf chanl-tasks).

Slot: results
Readers

results.

Writers

(setf results).

Slot: num-results-expected
Initform

0

Readers

num-results-expected.

Writers

(setf num-results-expected).

Slot: num-results-got
Initform

0

Readers

num-results-got.

Writers

(setf num-results-got).

Slot: completion-condition
Initform

(bordeaux-threads:make-condition-variable)

Readers

completion-condition.

Writers

This slot is read-only.

Slot: should-run
Initform

t

Readers

should-run.

Writers

(setf should-run).

Slot: je-lock
Initform

(bordeaux-threads:make-recursive-lock)

Readers

je-lock.

Writers

This slot is read-only.

Slot: channel
Initform

(make-instance (quote chanl:unbounded-channel))

Readers

channel.

Writers

This slot is read-only.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
A   C   F   G   H   I   J   M   N   R   S   W  
Index Entry  Section

(
(setf chanl-tasks): Private generic functions
(setf chanl-tasks): Private generic functions
(setf num-results-expected): Private generic functions
(setf num-results-expected): Private generic functions
(setf num-results-got): Private generic functions
(setf num-results-got): Private generic functions
(setf results): Private generic functions
(setf results): Private generic functions
(setf should-run): Private generic functions
(setf should-run): Private generic functions

A
add-job: Public ordinary functions
append-result: Private ordinary functions

C
chanl-tasks: Private generic functions
chanl-tasks: Private generic functions
channel: Private generic functions
channel: Private generic functions
cleanup-threads: Private ordinary functions
completion-condition: Private generic functions
completion-condition: Private generic functions
create-job-executor: Public ordinary functions
create-job-worker: Private ordinary functions

F
finish-and-return-results: Private ordinary functions
Function, add-job: Public ordinary functions
Function, append-result: Private ordinary functions
Function, cleanup-threads: Private ordinary functions
Function, create-job-executor: Public ordinary functions
Function, create-job-worker: Private ordinary functions
Function, finish-and-return-results: Private ordinary functions
Function, has-all-results: Public ordinary functions
Function, join-results: Public ordinary functions
Function, stop: Public ordinary functions

G
Generic Function, (setf chanl-tasks): Private generic functions
Generic Function, (setf num-results-expected): Private generic functions
Generic Function, (setf num-results-got): Private generic functions
Generic Function, (setf results): Private generic functions
Generic Function, (setf should-run): Private generic functions
Generic Function, chanl-tasks: Private generic functions
Generic Function, channel: Private generic functions
Generic Function, completion-condition: Private generic functions
Generic Function, je-lock: Private generic functions
Generic Function, num-results-expected: Private generic functions
Generic Function, num-results-got: Private generic functions
Generic Function, num-threads: Private generic functions
Generic Function, results: Private generic functions
Generic Function, should-run: Private generic functions

H
has-all-results: Public ordinary functions

I
initialize-instance: Public standalone methods

J
je-lock: Private generic functions
je-lock: Private generic functions
join-results: Public ordinary functions

M
Macro, with-job-executor-lock: Private macros
Method, (setf chanl-tasks): Private generic functions
Method, (setf num-results-expected): Private generic functions
Method, (setf num-results-got): Private generic functions
Method, (setf results): Private generic functions
Method, (setf should-run): Private generic functions
Method, chanl-tasks: Private generic functions
Method, channel: Private generic functions
Method, completion-condition: Private generic functions
Method, initialize-instance: Public standalone methods
Method, je-lock: Private generic functions
Method, num-results-expected: Private generic functions
Method, num-results-got: Private generic functions
Method, num-threads: Private generic functions
Method, results: Private generic functions
Method, should-run: Private generic functions

N
num-results-expected: Private generic functions
num-results-expected: Private generic functions
num-results-got: Private generic functions
num-results-got: Private generic functions
num-threads: Private generic functions
num-threads: Private generic functions

R
results: Private generic functions
results: Private generic functions

S
should-run: Private generic functions
should-run: Private generic functions
stop: Public ordinary functions

W
with-job-executor-lock: Private macros