iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
自我挑戰組

Concurrency in go 讀書心得 系列

希望透過這本書的閱讀與心得來加深對於golang concurrency的理解。

鐵人鍊成 | 共 30 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 1

1.參賽前言

動機:希望加深對於golang concurrency的理解 去年,我也報名了ithome鐵人賽。當初帶著滿腔熱誠,想要透過連續的寫作分享知識。然而,生活總是充...

2023-09-15 ‧ 由 konchok3po 分享
DAY 2

2.Concurrency ? Parallelism?

Concurrency 與 Parallelism 的深入探討:從差異到應用 我們常常聽到兩個詞:Concurrency(併發)與 Parallelism(平行...

2023-09-16 ‧ 由 konchok3po 分享
DAY 3

3.Race Condition, Atomicity, Memory Access Synchronization

Race Condition 當多個執行緒或goroutine訪問和操作相同的數據,而其最終的操作結果取決於執行的時序,可能導致不可預期或不一致的結果。 想像一...

2023-09-17 ‧ 由 konchok3po 分享
DAY 4

4.Deadlocks, Livelocks, and Starvation

死鎖(Deadlock):死鎖是所有併發進程(concurrent process)都在彼此等待的狀態。在這種情況下,如果沒有外部干預,程式將永遠不會恢復。 如...

2023-09-18 ‧ 由 konchok3po 分享
DAY 5

5.CSP & Go

CSP (Communicating Sequential Processes) CSP(Communicating Sequential Processes)...

2023-09-19 ‧ 由 konchok3po 分享
DAY 6

6.Goroutine

Goroutine goroutine 是 Go 語言的輕量級執行緒。當你使用 go 關鍵字啟動一個函數時,該函數將在一個新的 goroutine 中非同步地運...

2023-09-20 ‧ 由 konchok3po 分享
DAY 7

7.Sync package

Sync是golang蠻常使用的package 第一個例子是WaitGroup,原始碼的註解寫得很清楚,總之透過WaitGroup可以控制goruotine的運...

2023-09-21 ‧ 由 konchok3po 分享
DAY 8

8.Channels

Channel Channel,即通道,衍生自Charles Antony Richard Hoare的CSP併發模型,在Go語言中具有極其重要的地位。雖然它可...

2023-09-22 ‧ 由 konchok3po 分享
DAY 9

9.Select, GOMAXPROC

select select 在 Go 語言中用於處理多個通道操作,它允許程序等待多個通道操作,然後執行第一個可以完成的操作。如果有多個操作都可以執行,則會隨機選...

2023-09-23 ‧ 由 konchok3po 分享
DAY 10

10.Confinement pattern

Confinement pattern 這種模式的主要目的是確保資料只在一個 goroutine 中被訪問,從而避免了競爭條件和其他並發相關的問題。 封閉模式大...

2023-09-24 ‧ 由 konchok3po 分享