tmp/tmp7uya7xm8/{from.md → to.md}
RENAMED
|
@@ -21,11 +21,12 @@ waiting function*, otherwise it is a *non-timed waiting function*.
|
|
| 21 |
|
| 22 |
An *asynchronous provider* is an object that provides a result to a
|
| 23 |
shared state. The result of a shared state is set by respective
|
| 24 |
functions on the asynchronous provider.
|
| 25 |
|
| 26 |
-
[*
|
|
|
|
| 27 |
|
| 28 |
The means of setting the result of a shared state is specified in the
|
| 29 |
description of those classes and functions that create such a state
|
| 30 |
object.
|
| 31 |
|
|
@@ -75,11 +76,11 @@ of each of that thread’s objects with thread storage duration
|
|
| 75 |
[[basic.stc.thread]] is sequenced before making that shared state ready.
|
| 76 |
|
| 77 |
Access to the result of the same shared state may conflict
|
| 78 |
[[intro.multithread]].
|
| 79 |
|
| 80 |
-
[*Note
|
| 81 |
state is visible in the objects that reference this state in the sense
|
| 82 |
of data race avoidance [[res.on.data.races]]. For example, concurrent
|
| 83 |
accesses through references returned by `shared_future::get()`
|
| 84 |
[[futures.shared.future]] must either use read-only operations or
|
| 85 |
provide additional synchronization. — *end note*]
|
|
|
|
| 21 |
|
| 22 |
An *asynchronous provider* is an object that provides a result to a
|
| 23 |
shared state. The result of a shared state is set by respective
|
| 24 |
functions on the asynchronous provider.
|
| 25 |
|
| 26 |
+
[*Example 1*: Promises and tasks are examples of asynchronous
|
| 27 |
+
providers. — *end example*]
|
| 28 |
|
| 29 |
The means of setting the result of a shared state is specified in the
|
| 30 |
description of those classes and functions that create such a state
|
| 31 |
object.
|
| 32 |
|
|
|
|
| 76 |
[[basic.stc.thread]] is sequenced before making that shared state ready.
|
| 77 |
|
| 78 |
Access to the result of the same shared state may conflict
|
| 79 |
[[intro.multithread]].
|
| 80 |
|
| 81 |
+
[*Note 3*: This explicitly specifies that the result of the shared
|
| 82 |
state is visible in the objects that reference this state in the sense
|
| 83 |
of data race avoidance [[res.on.data.races]]. For example, concurrent
|
| 84 |
accesses through references returned by `shared_future::get()`
|
| 85 |
[[futures.shared.future]] must either use read-only operations or
|
| 86 |
provide additional synchronization. — *end note*]
|