Name Description Size
enter.rs run task 1896
lib.rs 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. # Using a thread pool (M:N task scheduling) Most of the time tasks should be executed on a [thread pool](ThreadPool). 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 with the [`spawn_ok`](ThreadPool::spawn_ok) function will run ambiently on the created threads. # Spawning additional tasks Tasks can be spawned onto a spawner by calling its [`spawn_obj`] method directly. In the case of `!Send` futures, [`spawn_local_obj`] can be used instead. # Single-threaded execution In addition to thread pools, it's possible to run a task (and the tasks it spawns) entirely within a single thread via the [`LocalPool`] executor. Aside from cutting down on synchronization costs, this executor also makes it possible to spawn non-`Send` tasks, via [`spawn_local_obj`]. The [`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. [`spawn_obj`]: https://docs.rs/futures/0.3/futures/task/trait.Spawn.html#tymethod.spawn_obj [`spawn_local_obj`]: https://docs.rs/futures/0.3/futures/task/trait.LocalSpawn.html#tymethod.spawn_local_obj 2828
local_pool.rs 13547
thread_pool.rs ... 11805
unpark_mutex.rs 5449