Overview
Syllabus
Intro
Speaker: Roman Elizarov
Old-school client-server monolith
Sizing threads - easy
Complex business logic
What if a service is slow?
Blocks threads
Release the thread
Suspend behind the scenes
Performance!
Integration
Release thread?
Blocking server
Asynchronous server
Server integrated with coroutines
Server not integrated with coroutines
Suspend is efficient
Let's go deeper (with coroutines)
Call stack with coroutines
Thread pools
CPU-bound code
Fine-grained control and encapsulation
Concurrency with async (futures)
Concurrency with coroutines
Without coroutine scope?
Convention
Types as documentation
Types are enforced
Green threads / Fibers
Fibers promise
Solution - shared thread pool
Returning many responses
Where's the catch?
Flow example
Taught by
GOTO Conferences