* Align dining-philosophers-async.rs with sync version
This updates the version to use `std::mem::swap` like the synchronous version.
* Apply suggestions from code review
* Fix solution in Link Checker in Concurrency Morning exercises.
This change fixes the following issues with the current solution:
1. It is not listed on the "solutions" page.
2. It is not multi-threaded and does not use channels.
---------
Co-authored-by: Dustin J. Mitchell <djmitche@google.com>
* remove $ from code blocks in translations
* remove $ from code blocks in the other markdown files as well
* Revert "remove $ from code blocks in the other markdown files as well"
This reverts commit eda922dab93dd2d2967581650a5c983432ec3a80.
* remove $ from code blocks in setup.md
* re-added the previous changes
* revert logging.md
Clarify that each philosopher should think/eat 100 times.
Folks who have hazy memories of the philosopher dining problem may
interpret the original instructions as "make each philosopher think and
eat once". This interpretation loses a critical detail, because the
resulting code is highly unlikely to deadlock in practice, even without
breaking the symmetry.
* Adds a description of the async chat exercise
* Simplifies the use of Error in chat-async
* Links the solution to the async chat exercise
* Removes the elevator exercise
* Adds dining philosophers as an async exercise
* Adds a solution for async dining philosophers
* Adds a solution page for the afternoon session on concurrency
* Align outline with new spin-off course structure
With the new structure, the section on Android is a spin-off course
from the main 3-day course on Rust Fundamentals. The Bare-metal and
Concurrency days are spin-off courses in the same way.
* Explain new course structure
* Align Bare-Metal welcome page with other deep dives
* Merge Day 4 page into Course Structure page
* Remove Day 4 Welcome page
This aligns the Concurrency in Rust section with the Bare-Metal Rust
deep dive.
* Show subsections for Android deep dive
This aligns the Rust in Android section with the other deep dives.
* Clean up welcome page and README
We now cover async Rust and the course is no longer a four day course.
* Remove reference to the old Day 4
* Remove Day 4 references from exercises