Comments (2)
@blandger Thank you very much for the response!
Chapter 3: Out-of-Thin-Air Values
Due to the lack of ordering guarantees, the load operations of these two threads might both see the result of the store operation of the other thread, allowing for a cycle in the order of operations: we store 37 in Y because we loaded 37 from X, which was stored to X because we loaded 37 from Y, which is the value we stored in Y.
Am I correct in understanding that the essence of the note 'Out-of-Thin-Air Values' is exactly what Jon Gjengset explains in this moment of the video: Crust of Rust: Atomics and Memory Ordering?
from rust-atomics-and-locks.
no matter how many times you transfer 0 from one variable to another, you won't get anything other than zero
Your are correct. That is not possible to fail on assert.
The comment can be a bit confusing I suppose it could be rewritten as 'is that possible to fail here'? The obvious answer is no.
from rust-atomics-and-locks.
Related Issues (20)
- What prevents reordering between wait and the decrementing of num_waiters? HOT 3
- Simple typo in Memory Ordering, Example: Lazy Initialization with Indirection HOT 1
- Chapter 7 wrong module name? HOT 1
- mutex_3.rs test panic
- Possible race condition HOT 2
- Ch.6 - Cryptic/Challenging explanation regarding 'special "locked" state'
- About example of Ch3 on SeqCst HOT 2
- Minor technical mistake in a chapter 2 paragraph Example: Progress Reporting HOT 1
- Maybe a typo in a comment rwlock_3.rs HOT 1
- Question about correctness of example in chapter 5 HOT 2
- How is the result 0 20 possible in figure 3.1 HOT 1
- Potential infinite loop in the end of chapter 5
- Question about the memory ordering of the store in the last fence example in chapter 3
- [Chapter 5] Saving one byte of memory when controlling channel state - Missing state reset? HOT 2
- Figure 9-1 HOT 1
- chapter7: 3 typos in ARM instructions in the text HOT 2
- Minor issue explaining "Undefined Behavior" (offset of out-of-bound access)
- Relaxed ordering - text mentions 0,5,15 while example has add 5, add 10 HOT 2
- Redundant indents HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rust-atomics-and-locks.