Skip to content

Commit

Permalink
Merge pull request #294 from async-rs/blocking-docs
Browse files Browse the repository at this point in the history
add task::blocking docs
  • Loading branch information
yoshuawuyts authored Oct 9, 2019
2 parents a06a52d + fc904a2 commit e75c3a9
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 1 deletion.
4 changes: 4 additions & 0 deletions src/task/block_on.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ use kv_log_macro::trace;
/// Calling this function is similar to [spawning] a thread and immediately [joining] it, except an
/// asynchronous task will be spawned.
///
/// See also: [`task::blocking`].
///
/// [`task::blocking`]: fn.blocking.html
///
/// [spawning]: https://doc.rust-lang.org/std/thread/fn.spawn.html
/// [joining]: https://doc.rust-lang.org/std/thread/struct.JoinHandle.html#method.join
///
Expand Down
24 changes: 23 additions & 1 deletion src/task/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,29 @@ pub(crate) mod blocking;

/// Spawns a blocking task.
///
/// The task will be spawned onto a thread pool specifically dedicated to blocking tasks.
/// The task will be spawned onto a thread pool specifically dedicated to blocking tasks. This
/// is useful to prevent long-running synchronous operations from blocking the main futures
/// executor.
///
/// See also: [`task::block_on`].
///
/// [`task::block_on`]: fn.block_on.html
///
/// # Examples
///
/// Basic usage:
///
/// ```
/// # fn main() { async_std::task::block_on(async {
/// #
/// use async_std::task;
///
/// task::blocking(async {
/// println!("long-running task here");
/// }).await;
/// #
/// # }) }
/// ```
// Once this function stabilizes we should merge `blocking::spawn` into this so
// all code in our crate uses `task::blocking` too.
#[cfg(any(feature = "unstable", feature = "docs"))]
Expand Down

0 comments on commit e75c3a9

Please sign in to comment.