Everything you wanted to know about writing async
summary
Built a reusable Java downloader that does parallel file chunking, pause/resume and progress tracking, and integrates with two async HTTP clients via an adapter interface for two async HTTP clients. Finds existing projects lacking license or sources and rejects blocking designs; implements a reactor-style nonblocking client using AsyncHttpClient/Async-HTTP-Client patterns. Discovers practical pitfalls: range requests fail with compressed responses, redirects must copy Range headers, Windows forces a weird one-byte file lock workaround. Resulting library handles concurrent chunks, atomic renames and resume successfully.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 2:57Client app problems and needs
- 8:40Reactor: design and implementation
- 14:18Async load libraries
- 22:36Ning vs Async Http Client
- 25:25HTTP/2 key features
- 39:28File write synchronization
- 45:52HTTP/2 multiplexing and prioritization
- 49:07Resources and closing
related talks
48mParallel Streams, CompletableFuture, and All That: Concurrency in Java 8
34mConcurrency in Spring Boot Applications: Making the Right Choice
26mReactive Java Programming: a new Asynchronous Database...
20mIt's Critical: Concurrent programming as a sane programming model
47mReactive Spring
52mSynchronous and Asynchronous Programming - Two Worlds You Can Combine
02h 35mParallel and Asynchronous Programming with Streams and CompletableFuture
51mThe Need for Async
