Mention interrupts and green threads

This commit is contained in:
Jon Gjengset 2017-04-07 09:13:06 -04:00
parent 8fc3ab20b0
commit e6597e12bc
No known key found for this signature in database
GPG key ID: D64AC9D67176DC71

View file

@ -32,7 +32,12 @@ racing *with itself*. That is, if a given thread is executing one piece
of code, and is then interrupted, and starts executing code elsewhere
(while still in the same thread, and conceptually still on the same
core). In traditional programs, this can only occur when a signal
handler is registered. Consider the following code:
handler is registered. In more low-level code, such situations can also
arise when handling interrupts, when implementing green threads with
pre-emption, etc.
To give a straightforward example of when a `compiler_barrier` is
necessary, consider the following example:
```rust
# use std::sync::atomic::{AtomicBool, AtomicUsize};