Goroutines:Goroutines 是 Golang 中的輕量級線程,可以并發地執行函數或方法。
Channels:Channel 是用來在 Goroutines 之間進行通信和同步的機制,可以在不同 Goroutines 之間傳遞數據。
Mutexes:Mutexes 是互斥鎖,可以用來保護共享資源,確保在同一時間只有一個 Goroutine 可以訪問臨界區。
WaitGroups:WaitGroups 可以用來等待一組 Goroutines 完成任務,可以阻塞主 Goroutine 直到所有 Goroutines 都執行完畢。
Atomic:Atomic 包提供了原子操作,可以保證對共享變量的讀寫操作是原子的,從而避免競爭條件。
Select:Select 語句可以用來在多個 Channel 上進行非阻塞的選擇操作,可以實現超時控制和多路復用。
Context:Context 包提供了上下文管理,可以用來在 Goroutines 之間傳遞取消信號和超時控制,避免資源泄漏。