Learn Async Rust: Questions

Questions you should be able to answer at the end of this step:

  1. How does Async programming work in Rust, if you didn't understand this already?
  2. What types of concurrent programming does Rust support? How many are there in general?
  3. What are Futures and how do they work? What function they have? How do they affect you?
  4. What is Send and Sync? What is it used for? How does it affect you?
  5. What are good use cases of Async code? What kind of tasks aren't a good fit for this?
  6. What are Async Executors? What are Async Runtimes?
  7. What is Tokio? How do you use it? What does it give you?
  8. What are some other libraries in the Tokio ecosystem?
  9. What can you build with Tokio?
  10. Why would you use Tokio?
  11. How do you achieve Async Rust programming with only standard library (stdlib) code?
  12. Why does Rust not bundle an Async runtime?
  13. What is parallel programming? How do you do it in Rust? How does it relate to Async programming?