Главная
Study mode:
on
1
Intro
2
Rethinking Classical Concurrency Patterns
3
Start goroutines when you have concurrent work.
4
Share by communicating.
5
An asynchronous API
6
Avoid blocking UI and network threads.
7
Reduce idle threads.
8
Reclaim stack frames.
9
Make concurrency an internal detail.
10
Condition Variables
11
Spurious wakeups
12
Forgotten signals
13
Starvation
14
Unresponsive cancellation
15
Share resources by communicating the resources.
16
Resource limits are resources too!
17
Share data by communicating the data.
18
Mark transitions.
19
Share completion by completing communication.
20
Events can be completions.
21
Share a thing by communicating the thing
22
Worker lifetimes
23
Idle workers
24
Recap
Description:
Explore classical concurrency patterns and their Go alternatives in this GopherCon 2018 talk. Delve into lightweight goroutines and concurrency primitives, examining how they change cost/benefit tradeoffs. Learn to start goroutines for concurrent work, share by communicating, and implement asynchronous APIs. Discover techniques to avoid blocking UI and network threads, reduce idle threads, and reclaim stack frames. Understand how to make concurrency an internal detail and address challenges with condition variables. Gain insights on sharing resources, data, and completion through communication. Examine worker lifetimes and idle workers, and recap key concepts for effective concurrent programming in Go.

Rethinking Classical Concurrency Patterns

Gopher Academy
Add to list