|
13 | 13 | //! ## The threading model
|
14 | 14 | //!
|
15 | 15 | //! An executing Rust program consists of a collection of native OS threads,
|
16 |
| -//! each with their own stack and local state. |
| 16 | +//! each with their own stack and local state. Threads can be named, and |
| 17 | +//! provide some built-in support for low-level synchronization. |
17 | 18 | //!
|
18 | 19 | //! Communication between threads can be done through
|
19 | 20 | //! [channels](../../std/sync/mpsc/index.html), Rust's message-passing
|
|
37 | 38 | //! convenient facilities for automatically waiting for the termination of a
|
38 | 39 | //! child thread (i.e., join).
|
39 | 40 | //!
|
40 |
| -//! ## The `Thread` type |
41 |
| -//! |
42 |
| -//! Threads are represented via the `Thread` type, which you can |
43 |
| -//! get in one of two ways: |
44 |
| -//! |
45 |
| -//! * By spawning a new thread, e.g. using the `thread::spawn` function. |
46 |
| -//! * By requesting the current thread, using the `thread::current` function. |
47 |
| -//! |
48 |
| -//! Threads can be named, and provide some built-in support for low-level |
49 |
| -//! synchronization (described below). |
50 |
| -//! |
51 |
| -//! The `thread::current()` function is available even for threads not spawned |
52 |
| -//! by the APIs of this module. |
53 |
| -//! |
54 | 41 | //! ## Spawning a thread
|
55 | 42 | //!
|
56 | 43 | //! A new thread can be spawned using the `thread::spawn` function:
|
|
99 | 86 | //! });
|
100 | 87 | //! ```
|
101 | 88 | //!
|
| 89 | +//! ## The `Thread` type |
| 90 | +//! |
| 91 | +//! Threads are represented via the `Thread` type, which you can get in one of |
| 92 | +//! two ways: |
| 93 | +//! |
| 94 | +//! * By spawning a new thread, e.g. using the `thread::spawn` function, and |
| 95 | +//! calling `thread()` on the `JoinHandle`. |
| 96 | +//! * By requesting the current thread, using the `thread::current` function. |
| 97 | +//! |
| 98 | +//! The `thread::current()` function is available even for threads not spawned |
| 99 | +//! by the APIs of this module. |
| 100 | +//! |
102 | 101 | //! ## Blocking support: park and unpark
|
103 | 102 | //!
|
104 | 103 | //! Every thread is equipped with some basic low-level blocking support, via the
|
|
0 commit comments