-
System Threads
- Kernel-level threads
-
Green Threads
- User-level threads
-
Async Implementation at a high level has three major components
- Executor
- Reactor
- XRoutine
-
Async
- Transforms a block of code into a state machine that implements a trait called future
-
Await
- Mechanism to run a future. It asynchronously waits for the future to complete.
-
mio
provides several core abstractions for working with I/O resources, such as sockets, pipes, and devices. -
It also supports advanced features such as
epoll, kqueue, and IOCP
on different platforms and convenient utility functions for working with I/O events, timeouts, and buffers.
-
- Explains how Rust got its
asynchronous
paradigm. - First adopted
green threads
. But still performed like a one-to-one native thread. - Event loop in JavaScript allowed asynchronous callbacks with eventing.
- Go, Ruby has blocking syntax with non-blocking runtime.
- Go has stackfull co routines compared to Rust stackfull coroutine.
- Explains how Rust got its
-
Rundown of Async/Await in Rust
- Code walkthrough of demo future implementation.
-
- Explains future implementation and benchmark.
-
The Talk You've Been Await-ing for
- Implementaton of executor, Reactor