This is the pcall Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Aug 15 05:33:26 2022 GMT+0.
Next: Files, Previous: The pcall Reference Manual, Up: The pcall Reference Manual [Contents][Index]
The main system appears first, followed by any subsystem dependency.
Next: pcall-queue, Previous: Systems, Up: Systems [Contents][Index]
Next: Packages, Previous: Systems, Up: The pcall Reference Manual [Contents][Index]
Files are sorted by type and then listed depth-first from the systems components trees.
Next: pcall/package.lisp, Previous: pcall/pcall.asd, Up: Lisp [Contents][Index]
pcall-queue (system).
Next: pcall/task.lisp, Previous: pcall-queue/pcall-queue.asd, Up: Lisp [Contents][Index]
Next: pcall/pool.lisp, Previous: pcall/package.lisp, Up: Lisp [Contents][Index]
package.lisp (file).
pcall (system).
Next: pcall/pcall.lisp, Previous: pcall/task.lisp, Up: Lisp [Contents][Index]
task.lisp (file).
pcall (system).
Next: pcall-queue/queue.lisp, Previous: pcall/pool.lisp, Up: Lisp [Contents][Index]
pcall (system).
Previous: pcall/pcall.lisp, Up: Lisp [Contents][Index]
pcall-queue (system).
Next: Definitions, Previous: Files, Up: The pcall Reference Manual [Contents][Index]
Packages are listed by definition order.
Next: pcall-queue, Previous: Packages, Up: Packages [Contents][Index]
Next: Indexes, Previous: Packages, Up: The pcall Reference Manual [Contents][Index]
Definitions are sorted by export status, category, package, and then by lexicographic order.
Next: Internals, Previous: Definitions, Up: Definitions [Contents][Index]
Next: Ordinary functions, Previous: Public Interface, Up: Public Interface [Contents][Index]
Shorthand for pcall.
Run body with a fresh thread pool. If on-unwind is :wait, it will wait for all tasks to finish before returning. If it is :leave, the form will return while threads are still working. If it is :stop or :destroy, the threads will be stopped at the end of the body. With :stop, they will first finish their current task (if any), with :destroy, they will be brutally destroyed and might leak resources, leave stuff in inconsistent state, etc.
Previous: Macros, Up: Public Interface [Contents][Index]
Join a task, meaning stop execution of the current thread until the result of the task is available, and then return this result. When this is called on a task that no thread is currently working on, the current thread executes the task directly.
Create an empty queue.
Call a thunk in parallel. Returns a task that can be joined. When an exclusive is given, the task will only run when no other tasks with that exclusive are running.
Test whether a queue is empty.
Find the length of a queue.
Pop an element from the front of a queue. Returns immediately, returning nil if the queue is empty, and a second value indicating whether anything was popped.
Push an element onto the back of a queue.
Pop an element from the front of a queue. Causes a blocking wait when no elements are available.
Returns the first task that can be joined without blocking.
Previous: Public Interface, Up: Definitions [Contents][Index]
Next: Ordinary functions, Previous: Internals, Up: Internals [Contents][Index]
Next: Generic functions, Previous: Special variables, Up: Internals [Contents][Index]
Make sure the thread pool holds the correct amount of live threads.
Execute a task, and store the result or error in the task object. When a task’s status is not :free, that means the joiner has already started executing it, so this thread should leave it alone.
next.
prev.
The code running inside the pooled threads. Repeatedly tries to take a task from the queue, and handles it.
Next: Conditions, Previous: Ordinary functions, Up: Internals [Contents][Index]
Next: Structures, Previous: Generic functions, Up: Internals [Contents][Index]
condition.
:at-once-p
This slot is read-only.
Next: Classes, Previous: Conditions, Up: Internals [Contents][Index]
structure-object.
3
bordeaux-threads.
(bordeaux-threads:make-lock)
(pcall-queue:make-queue)
Previous: Structures, Up: Internals [Contents][Index]
bordeaux-threads.
(bordeaux-threads:make-lock)
This slot is read-only.
common-lisp.
(bordeaux-threads:make-condition-variable)
This slot is read-only.
A task is a piece of code that is scheduled to run in the thread pool.
:thunk
This slot is read-only.
common-lisp.
common-lisp.
bordeaux-threads.
(bordeaux-threads:make-lock)
This slot is read-only.
:free
Previous: Definitions, Up: The pcall Reference Manual [Contents][Index]
Jump to: | (
A C D E F G J M N P Q S T W |
---|
Jump to: | (
A C D E F G J M N P Q S T W |
---|
Next: Data types, Previous: Functions, Up: Indexes [Contents][Index]
Jump to: | *
A B C E F L N P Q S T V W |
---|
Jump to: | *
A B C E F L N P Q S T V W |
---|
Jump to: | C F N P Q S T |
---|
Jump to: | C F N P Q S T |
---|