Executors & Schedulers facilities.
Executors & Schedulers facilities.
(cached-executor & {:keys [factory]})
A cached thread executor pool constructor.
A cached thread executor pool constructor.
(current-thread)
Return the current thread.
Return the current thread.
(current-thread-executor)
Creates an executor instance that run tasks in the same thread.
Creates an executor instance that run tasks in the same thread.
Default Executor instance that runs the task in the same thread.
Default Executor instance that runs the task in the same thread.
Default executor instance, ForkJoinPool/commonPool in JVM, MicrotaskExecutor on JS.
Default executor instance, ForkJoinPool/commonPool in JVM, MicrotaskExecutor on JS.
Default scheduled executor instance.
Default scheduled executor instance.
(executor? o)
Returns true if o
is an instane of Executor or satisfies IExecutor protocol.
Returns true if `o` is an instane of Executor or satisfies IExecutor protocol.
(fixed-executor & {:keys [parallelism factory]})
A fixed thread executor pool constructor.
A fixed thread executor pool constructor.
(forkjoin-executor & {:keys [factory async? parallelism] :or {async? true}})
(forkjoin-thread-factory &
{:keys [name daemon]
:or {name "promesa/forkjoin/%s" daemon true}})
(interrupt!)
(interrupt! thread)
Interrupt a thread.
Interrupt a thread.
(interrupted?)
(interrupted? thread)
Check if the thread has the interrupted flag set.
There are two special cases:
Using the :current
keyword as argument will check the interrupted
flag on the current thread.
Using the arity 0 (passing no arguments), then the current thread
will be checked and WARNING the interrupted flag reset to
false
.
Check if the thread has the interrupted flag set. There are two special cases: Using the `:current` keyword as argument will check the interrupted flag on the current thread. Using the arity 0 (passing no arguments), then the current thread will be checked and **WARNING** the interrupted flag reset to `false`.
(microtask-executor)
An IExecutor that schedules tasks to be executed in the MicrotasksQueue.
An IExecutor that schedules tasks to be executed in the MicrotasksQueue.
(pmap f coll)
(pmap f coll & colls)
Analogous to the clojure.core/pmap
with the excetion that it allows
use a custom executor (binded to default-executor var) The default
clojure chunk size (32) is used for evaluation and the real
parallelism is determined by the provided executor.
EXPERIMENTAL API: This function should be considered EXPERIMENTAL and may be changed or removed in future versions until this notification is removed.
Analogous to the `clojure.core/pmap` with the excetion that it allows use a custom executor (binded to *default-executor* var) The default clojure chunk size (32) is used for evaluation and the real parallelism is determined by the provided executor. **EXPERIMENTAL API:** This function should be considered EXPERIMENTAL and may be changed or removed in future versions until this notification is removed.
(run! f)
(run! executor f)
Run the task in the provided executor.
Run the task in the provided executor.
(schedule! ms f)
(schedule! scheduler ms f)
Schedule a callable to be executed after the ms
delay
is reached.
In JVM it uses a scheduled executor service and in JS
it uses the setTimeout
function.
Schedule a callable to be executed after the `ms` delay is reached. In JVM it uses a scheduled executor service and in JS it uses the `setTimeout` function.
(scheduled-executor & {:keys [parallelism factory] :or {parallelism 1}})
A scheduled thread pool constructor. A ScheduledExecutor (IScheduler in CLJS) instance allows execute asynchronous tasks some time later.
A scheduled thread pool constructor. A ScheduledExecutor (IScheduler in CLJS) instance allows execute asynchronous tasks some time later.
(shutdown! executor)
Shutdowns the executor service.
Shutdowns the executor service.
(shutdown-now! executor)
Shutdowns and interrupts the executor service.
Shutdowns and interrupts the executor service.
(shutdown? executor)
Check if execitor is in shutdown state.
Check if execitor is in shutdown state.
(single-executor & {:keys [factory]})
A single thread executor pool constructor.
A single thread executor pool constructor.
(sleep ms)
Turn the current thread to sleep accept a number of milliseconds or Duration instance.
Turn the current thread to sleep accept a number of milliseconds or Duration instance.
(submit! f)
(submit! executor f)
Submit a task to be executed in a provided executor and return a promise that will be completed with the return value of a task.
A task is a plain clojure function.
Submit a task to be executed in a provided executor and return a promise that will be completed with the return value of a task. A task is a plain clojure function.
(thread opts & body)
A low-level, not-pooled thread constructor, it accepts an optional
map as first argument and the body. The options map is interepreted
as options if a literal map is provided. The available options are:
:name
, :priority
, :daemon
and :virtual
. The :virtual
option is ignored if you are using a JVM that has no support for
Virtual Threads.
A low-level, not-pooled thread constructor, it accepts an optional map as first argument and the body. The options map is interepreted as options if a literal map is provided. The available options are: `:name`, `:priority`, `:daemon` and `:virtual`. The `:virtual` option is ignored if you are using a JVM that has no support for Virtual Threads.
(thread-factory
&
{:keys [name daemon priority]
:or {daemon true priority Thread/NORM_PRIORITY name "promesa/thread/%s"}})
Returns an instance of promesa default thread factory.
Returns an instance of promesa default thread factory.
(thread-factory? o)
Checks if o
is an instance of ThreadFactory
Checks if `o` is an instance of ThreadFactory
(thread-id)
(thread-id thread)
Retrieves the thread ID.
Retrieves the thread ID.
(thread? t)
Check if provided object is a thread instance.
Check if provided object is a thread instance.
Var that indicates the availability of virtual threads.
Var that indicates the availability of virtual threads.
backward compatibility alias for virtual-threads-available?
backward compatibility alias for `virtual-threads-available?`
(with-dispatch executor & body)
Helper macro for dispatch execution of the body to an executor service. The returned promise is not cancellable (the body will be executed independently of the cancellation).
Helper macro for dispatch execution of the body to an executor service. The returned promise is not cancellable (the body will be executed independently of the cancellation).
(with-executor executor & body)
Binds the default-executor var with the provided executor,
executes the macro body. It also can optionally shutdown or shutdown
and interrupt on termination if you provide ^:shutdown
and
^:interrupt
metadata.
EXPERIMENTAL API: This function should be considered EXPERIMENTAL and may be changed or removed in future versions until this notification is removed.
Binds the *default-executor* var with the provided executor, executes the macro body. It also can optionally shutdown or shutdown and interrupt on termination if you provide `^:shutdown` and `^:interrupt` metadata. **EXPERIMENTAL API:** This function should be considered EXPERIMENTAL and may be changed or removed in future versions until this notification is removed.
(work-stealing-executor & params)
An alias for the forkjoin-executor
.
An alias for the `forkjoin-executor`.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close