~/talk

Asychronous programming in Rust

Talkat DevConf.CZ 2023 · 2023-06-16..06-18· [rust, concurrency]
links:none on file
slides:none on file

Describes migrating a Red Hat service from a synchronous single-thread to an async multithreaded model and why that stops linear lock-acquisition slowdowns; outlines use of Tokio runtime and futures-rs (async/await, Future::poll, Waker, executors), explains that futures don’t run until polled or spawned, warns never to block in poll, and details a working custom sum read-write lock that tracks per-element read/write and all-read/all-write states, stores wakers, and cleans up on drop so waiting tasks wake and progress.

AI-written summary · about

  1. 0:00Async Rust introduction
  2. 1:03State of async in Rust
  3. 2:51Language/library support
  4. 5:20Futures and tasks fundamentals
  5. 8:32Polling Futures correctly
  6. 10:18Tokyo runtime blocking
  7. 12:23Async syntax patterns
  8. 15:32Read-write lock case study
  9. 22:57Async Rust benefits/challenges
  10. 25:43Q&A kernel space
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.