Главная
Study mode:
on
1
Introduction
2
Dont Panic
3
Communicate Sequentially
4
Concurrency Paradigm
5
What is a process
6
Type
7
Process
8
CSP
9
CSP Design Tips
10
Flow of Data
11
Control Flow
12
Manager Driven Workflow
13
Overdependence on Signals
14
Goto Dijkstra
15
Connection Diagrams
16
Go Gophers
17
God Processes
18
Rats Nest
19
Cycles
20
Structures
21
Pipelines
22
Unidirectional flows
23
Publish subscriber model
24
Unsubscribe
25
Exit strategy
26
Explicit cancellation
27
Memory Leak
28
Context Library
29
Collect Results
30
Code Snippet
31
Preventing Leaks
32
MPEG TS
33
Muxing
34
Packets
35
MPEGTS
36
Program Map Table
37
PatListener
38
Leaks
39
Stop Tickers
40
Cancel on Context
41
Dont defer inside of an infinite loop
42
Outro
Description:
Explore a practical guide to preventing deadlocks and leaks in Go through this GopherCon 2015 talk by Richard Fliam. Learn five battle-tested guidelines developed while creating Pillar, a high-performance Go application processing 15 gigabits per second and serving millions of users. Discover how to effectively use Communicating Sequential Processes (CSP) in Go, simplify code, and avoid common pitfalls. Gain insights into topics such as concurrent paradigms, CSP design tips, flow of data, control flow, manager-driven workflows, and explicit cancellation. Examine code snippets and real-world examples, including MPEG TS muxing and handling program map tables. Master techniques for preventing memory leaks, proper use of the context library, and best practices for working with tickers and infinite loops.

A Practical Guide to Preventing Deadlocks and Leaks in Go

Gopher Academy
Add to list