[Golang] Concurrency Patterns
參考資料
基本觀念
讓別人不會知道底層是以 Concurrency 運作
Concurrency 算是實作細節(implementation detail),而好的 API 設計應該要盡可能隱藏使用者不需要知道的這些實作細節。也就是說,實務上在設計 API 時,不論是 API 的型別、函式或方法,你都不應該將 channel 或 mutex 暴露給使用者存取。除非,你的 API 有設計要提供 concurrency 的 helper function,這種情況下可以是個例外。