This is the bodge-concurrency Reference Manual, version 1.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Tue Jul 15 03:23:17 2025 GMT+0.
The main system appears first, followed by any subsystem dependency.
bodge-concurrencyConcurrency utilities
Pavel Korolev
MIT
1.0.0
bodge-utilities (system).
bodge-memory (system).
cl-flow (system).
cl-muth (system).
trivial-main-thread (system).
bordeaux-threads (system).
simple-flow-dispatcher (system).
bodge-queue (system).
packages.lisp (file).
dispatch.lisp (file).
execution.lisp (file).
task-queue.lisp (file).
instance-lock.lisp (file).
main-thread.lisp (file).
Files are sorted by type and then listed depth-first from the systems components trees.
bodge-concurrency/bodge-concurrency.asdbodge-concurrency/packages.lispbodge-concurrency/dispatch.lispbodge-concurrency/execution.lispbodge-concurrency/task-queue.lispbodge-concurrency/instance-lock.lispbodge-concurrency/main-thread.lispbodge-concurrency/bodge-concurrency.asdbodge-concurrency (system).
bodge-concurrency/dispatch.lisppackages.lisp (file).
bodge-concurrency (system).
dispatch (generic function).
in-new-thread (macro).
in-new-thread-waiting (macro).
bodge-concurrency/execution.lispdispatch.lisp (file).
bodge-concurrency (system).
alivep (generic function).
execute (generic function).
initialize-instance (method).
initialize-instance (method).
initialize-instance (method).
make-pooled-executor (function).
make-single-threaded-executor (function).
+default-pool-size+ (constant).
+default-queue-size+ (constant).
blocking-executor (class).
destructor-of (method).
destructor-of (method).
destructor-of (method).
discarding-executor (class).
generic-executor (class).
ignite (function).
invoke-next-task (function).
make-blocking-executor (function).
make-discarding-executor (function).
pooled-executor (class).
single-threaded-executor (class).
task-queue-of (reader method).
bodge-concurrency/task-queue.lispexecution.lisp (file).
bodge-concurrency (system).
clearup (function).
drain (function).
make-task-queue (function).
push-body-into (macro).
push-task (function).
%make-task-queue (function).
copy-task-queue (function).
task-queue (structure).
task-queue-p (function).
task-queue-queue (reader).
bodge-concurrency/instance-lock.lisptask-queue.lisp (file).
bodge-concurrency (system).
lockable (class).
with-instance-lock-held (macro).
instance-lock-of (reader method).
bodge-concurrency/main-thread.lispinstance-lock.lisp (file).
bodge-concurrency (system).
stop-main-runner (function).
with-body-in-main-thread (macro).
Packages are listed by definition order.
bodge-concurrencybodge-memory.
bodge-util.
bordeaux-threads.
cl-flow.
cl-muth.
common-lisp.
alivep (generic function).
clearup (function).
dispatch (generic function).
drain (function).
execute (generic function).
in-new-thread (macro).
in-new-thread-waiting (macro).
lockable (class).
make-pooled-executor (function).
make-single-threaded-executor (function).
make-task-queue (function).
push-body-into (macro).
push-task (function).
stop-main-runner (function).
with-body-in-main-thread (macro).
with-instance-lock-held (macro).
%make-task-queue (function).
+default-pool-size+ (constant).
+default-queue-size+ (constant).
blocking-executor (class).
copy-task-queue (function).
discarding-executor (class).
generic-executor (class).
ignite (function).
instance-lock-of (generic reader).
invoke-next-task (function).
make-blocking-executor (function).
make-discarding-executor (function).
pooled-executor (class).
single-threaded-executor (class).
task-queue (structure).
task-queue-of (generic reader).
task-queue-p (function).
task-queue-queue (reader).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Execute ‘body‘ in the new thread with name ‘thread-name‘ instantly returning execution to the caller.
Execute ‘body‘ in the new thread with name ‘thread-name‘ blocking caller until ‘body‘ returns.
Push block of code to execute as a task to the end of the queue. Thread-safe.
Hold instance lock for the duration of the ‘body‘.
Remove all tasks from the queue. Thread-safe.
Execute tasks in FIFO order once. If ‘invoker‘ function provided, invoke it with task function as an argument instead. Thread-safe.
Make executor that run tasks concurrently in the dedicated thread-pool.
Make executor that run tasks in the same dedicated thread. Symbols specified in the
‘special-variables‘ would be available to the tasks ran by this executor.
Executor has maximum number of tasks it can take in until it block next call to #’execute if :important-p key is not specified or set to ’t. If :important-p is set to ’nil when maximum number of tasks is reached new incoming tasks will be discarded until number of tasks will drop below maximum allowed.
Make trivial thread-safe task FIFO queue.
Push task function to the end of the queue. Thread-safe.
Checks if executor is alive
pooled-executor)) ¶single-threaded-executor)) ¶Abstract execution facility: runs ‘task‘ in a way defined by ‘executor‘. Executors must operate in a thread-safe manner.
pooled-executor) (task function) &key invariant priority) ¶Run task concurrently in the thread pool.
single-threaded-executor) (task function) &key priority important-p) ¶Execute task in the dedicated thread. Block execution of the #’execute caller if maximum number of queued tasks is reached and :important-p is set to ’t. Discard task if maximum number of queued tasks is reached, but :important-p is set to nil or posting thread and processing thread are the same.
discarding-executor) (task function) &key priority important-p processing-thread) ¶blocking-executor) (task function) &key priority) ¶pooled-executor) &key size) ¶generic-executor) &key queue-size invoker) ¶single-threaded-executor) &key special-variables) ¶generic-executor)) ¶automatically generated reader method
pooled-executor)) ¶bodge-memory.
generic-executor)) ¶bodge-memory.
single-threaded-executor)) ¶bodge-memory.
structure-object.
(cl-muth:make-guarded-reference (bodge-queue:make-queue))
This slot is read-only.
| Jump to: | %
A C D E F G I M P S T W |
|---|
| Jump to: | %
A C D E F G I M P S T W |
|---|
| Jump to: | +
C D E I L P Q S |
|---|
| Jump to: | +
C D E I L P Q S |
|---|
| Jump to: | B C D E F G I L M P S T |
|---|
| Jump to: | B C D E F G I L M P S T |
|---|