Goroutine 和 Channel 講解

前言

Go 語言中並發程序可以用兩種方式來實現。

一種是 goroutinechannel,其支持 “交談循序程式”(communicating sequential processes)或被簡稱為 CSP。

CSP 是一個現代的並發程式模型,在這種程式模型中值會在不同的運行實例(goroutine)中傳遞,儘管大多數情況下被限制在單一實例中。

另一種是傳統的並發模型,多線程共享內存(基於共享變量的並發) , 會在後續單獨闡述。

Go 語言 sync 包的應用詳解

並發程式中的同步也就是我們通常說的鎖的主要作用是保證多個線程或者 goroutine 在訪問同一片內存時不會出現混亂的問題。

Go 語言的 sync 包提供了常見的並發程式同步 。 今天的文章裡讓我們回到應用層 , 聚焦 sync 包裡這些同步的應用場景 , 同時也會介紹 sync 包中的 PoolMap 的應用場景和使用方法。