]> git.lizzy.rs Git - rust.git/commitdiff
rollup merge of #23902: freebroccolo/master
authorAlex Crichton <alex@alexcrichton.com>
Tue, 31 Mar 2015 22:58:57 +0000 (15:58 -0700)
committerAlex Crichton <alex@alexcrichton.com>
Tue, 31 Mar 2015 22:58:57 +0000 (15:58 -0700)
src/doc/trpl/concurrency.md

index 79cb3117c0ef2ea7c249ca5303f0eadaa1f0a860..6b814a685424ef83220f8ce19f02d036bfe58b70 100644 (file)
@@ -280,13 +280,15 @@ it returns an `Result<T, E>`, and because this is just an example, we `unwrap()`
 it to get a reference to the data. Real code would have more robust error handling
 here. We're then free to mutate it, since we have the lock.
 
-This timer bit is a bit awkward, however. We have picked a reasonable amount of
-time to wait, but it's entirely possible that we've picked too high, and that
-we could be taking less time. It's also possible that we've picked too low,
-and that we aren't actually finishing this computation.
-
-Rust's standard library provides a few more mechanisms for two threads to
-synchronize with each other. Let's talk about one: channels.
+Lastly, while the threads are running, we wait on a short timer. But
+this is not ideal: we may have picked a reasonable amount of time to
+wait but it's more likely we'll either be waiting longer than
+necessary or not long enough, depending on just how much time the
+threads actually take to finish computing when the program runs.
+
+A more precise alternative to the timer would be to use one of the
+mechanisms provided by the Rust standard library for synchronizing
+threads with each other. Let's talk about one of them: channels.
 
 ## Channels