This is the bodge-concurrency Reference Manual, version 1.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 08 16:30:13 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
bodge-concurrency
Concurrency 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.asd
bodge-concurrency/packages.lisp
bodge-concurrency/dispatch.lisp
bodge-concurrency/execution.lisp
bodge-concurrency/task-queue.lisp
bodge-concurrency/instance-lock.lisp
bodge-concurrency/main-thread.lisp
bodge-concurrency/bodge-concurrency.asd
bodge-concurrency
(system).
bodge-concurrency/dispatch.lisp
packages.lisp
(file).
bodge-concurrency
(system).
dispatch
(generic function).
in-new-thread
(macro).
in-new-thread-waiting
(macro).
bodge-concurrency/execution.lisp
dispatch.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.lisp
execution.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.lisp
task-queue.lisp
(file).
bodge-concurrency
(system).
lockable
(class).
with-instance-lock-held
(macro).
instance-lock-of
(reader method).
bodge-concurrency/main-thread.lisp
instance-lock.lisp
(file).
bodge-concurrency
(system).
stop-main-runner
(function).
with-body-in-main-thread
(macro).
Packages are listed by definition order.
bodge-concurrency
bodge-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 |
---|