Built-in executors and related tools.
All asynchronous computation occurs within an executor, which is capable of spawning futures as tasks. This module provides several built-in executors, as well as tools for building your own.
All items are only available when the
std feature of this
library is activated, and it is activated by default.
Most of the time tasks should be executed on a thread pool.
A small set of worker threads can handle a very large set of spawned tasks
(which are much lighter weight than threads). Tasks spawned onto the pool
spawn_ok function will run ambiently on
the created threads.
In addition to thread pools, it’s possible to run a task (and the tasks
it spawns) entirely within a single thread via the
Aside from cutting down on synchronization costs, this executor also makes
it possible to spawn non-
Send tasks, via
LocalPool is best suited for running I/O-bound tasks that do relatively
little work between I/O operations.
There is also a convenience function
block_on for simply running a
future to completion on the current thread.
An iterator which blocks on values from a stream until they become available.
Represents an executor context.
An error returned by
enter if an execution scope has already been
A single-threaded task pool for polling futures to completion.
A general-purpose thread pool for scheduling tasks that poll futures to completion.
Thread pool configuration object.