GitXplorerGitXplorer
v

books-futures-explained

public
26 stars
74 forks
0 issues

Commits

List of commits on branch master.
Unverified
a3ac3071df368033166f280e7292302eb9814730

corrected futures 1.0 and 3.0 to 0.1 and 0.3

ccfsamson committed 5 years ago
Unverified
5947e071224838036966a2fce4dbe0060f09f1d0

final audit pass

ccfsamson committed 5 years ago
Unverified
01181ce2a20630aae6c4a01680e1f14736ac420c

removed 1 line of code from greenthreads

ccfsamson committed 5 years ago
Unverified
f99523aaf52aeea0227160f3d83073e20c30951b

final audit pass with minor changes

ccfsamson committed 5 years ago
Verified
6e7a6bbc8d28f95ad57f9f4a896d9c49b84278b3

Update README.md

ccfsamson committed 5 years ago
Unverified
a840a1c3e25e609ba38e65b02e00feaa125a65b4

linked to jons twitter

ccfsamson committed 5 years ago

README

The README file for this repository.

build status

Futures Explained in 200 Lines of Rust

The rendered version is found at: https://cfsamson.github.io/books-futures-explained/

This book aims to explain Futures in Rust using an example driven approach, exploring why they're designed the way they are, and how they work. We'll also take a look at some of the alternatives we have when dealing with concurrency in programming.

Going into the level of detail I do in this book is not needed to use futures or async/await in Rust. It's for the curious out there that want to know how it all works.

What this book covers

This book will try to explain everything you might wonder about up until the topic of different types of executors and runtimes. We'll just implement a very simple runtime in this book introducing some concepts but it's enough to get started.

Stjepan Glavina has made an excellent series of articles about async runtimes and executors, and if the rumors are right there is more to come from him in the near future.

The way you should go about it is to read this book first, then continue reading the articles from stejpang to learn more about runtimes and how they work, especially:

  1. Build your own block_on()
  2. Build your own executor

Contributing

All kinds of contributions are welcome. Spelling, wording or clarifications are very welcome as well as adding or suggesting changes to the content. I'd appreciate if you contribute through a PR.

Feedback, questions or discussion is welcome in the issue tracker.

Changelog

2020-04-06: Final draft finished

License

This book is MIT licensed.