- Green vs native threads
- threadpool
- Rust’s approach (native threads)
- tokio (green threads)
- Go’s approach (green threads)
Green vs Native threads
Rust approach
Async/Await:
- how to use?
- mark a function as
async fn ..
- get the result of an async function as
let res = some_async_fn().await?
. Note that async function always returns aResult
, so you’ll have to either explicitly transform that result or use?
to stack the error/value.
- mark a function as
-
what even is an async function?
Tokio approach
References
- CS511
- Concurrent programming
- Concurrent and Distributed Systems
- CS353: Principles of Concurrency and Parallelism
- CS491
- What every systems programmer should know about concurrency
- Awesome concurrency
- Rust’s asynchronous book
- async-std book
- async, concurrent or parallel
- Rust: atomics and Locks
- [asynchronous programming with rust]
- Thorsten’s tweet asking for resources
- KAIST CS431: Concurrent Programming
- Async rust from ground up
- Async Rust: the good, the bad, and the ugly - Steve Klabnik
- https://maximilianfeldthusen.github.io/rustAsync/
- https://jamesmcm.github.io/blog/a-practical-introduction-to-async-programming-in-rust/
- https://learnrust.github.io/comprehensive-rust/async.html
- https://github.com/jbarszczewski/rust-tokio-tutorial
- https://github.com/benkay86/async-applied/
- https://funkill.github.io/async-book-i18n/en/03_async_await/01_chapter.html
- https://msarmi9.github.io/posts/async-rust/
- https://dev.to/jbarszczewski/basics-of-asynchronous-rust-with-tokio-34fn
- https://blog.logrocket.com/a-practical-guide-to-async-in-rust/
- https://akhilsharma90.github.io/Akhil-Tutorials-Website/docs/rust/rust/async_programming_rust/