tag concurrency

標籤
貢獻1
24
10:02 AM · Nov 24 ,2025

@concurrency / 博客 RSS 訂閱

粘豆煮包 - 腦抽研究生Go併發-5-總結-核心 sync 包、Channel 與 Context、高級併發模式與擴展庫、分佈式併發

總結 第一部分:核心 sync 包 —— 本地併發 sync 包裏的這些工具,是處理單進程內、多個 goroutine 之間協同問題的基礎 1. 鎖 (Mutex RWMutex) 核心作用:保護共享資源,保證數據一致性。 任何時候,只允許一個(或一類)goroutine 進入“臨界區”。 精華: Mutex (互斥鎖):最簡單粗暴的鎖,一次只能進一個,不管他是

goroutine , 知識 , concurrency , go , 後端

收藏 評論

粘豆煮包 - 腦抽研究生Go併發-3-拓展併發原語-信號量、SingleFlightv和 循環柵欄、分組操作(ErrGroup)等

擴展併發原語 信號量(Semaphore/Weighted) ​ 信號量(Semaphore/Weighted)是用來控制多個 goroutine 同時訪問多個資源的併發原語 初始化信號量:設定初始的資源的數量。 P 操作:將信號量的計數值減去 1,如果新值已經為負,那麼調用者會被阻塞並加入到等待隊列中。否則,調用者會繼續執行,並且獲得一個資源。 V 操作:將信號量的計數值加 1,如果先

goroutine , 知識 , concurrency , go , 後端

收藏 評論

粘豆煮包 - 腦抽研究生Go併發-1-基本併發原語-上-Mutex、RWMutex、WaitGroup

基本併發原語 臨界區:避免程序中併發訪問或修改造成嚴重後果。 數據庫、共享數據結構、I/O 設備、連接池中的連接 同步原語 包含:互斥鎖 Mutex、讀寫鎖 RWMutex、併發編排 WaitGroup、條件變量 Cond、Channel 等 適用場景: 共享資源 任務編排:goroutine + WaitGroup/Channel 消息傳遞:goroutine +Channel。

goroutine , 知識 , concurrency , go , 後端

收藏 評論

粘豆煮包 - 腦抽研究生Go併發-6-實際應用場景(大模型生成)-淘寶“雙十一”零點秒殺,支撐一個千萬播放量、百萬評論的爆款視頻

實際應用場景(大模型生成) 場景設定:設計淘寶“雙十一”零點秒殺一個超熱門商品(比如 茅台)的後端系統 業務挑戰: 超高峯值流量:在零點鐘聲敲響的第一秒,可能會有數百萬用户同時點擊“搶購”按鈕。 數據強一致性:庫存只有 1000 瓶,絕對不能超賣。即賣出第 1001 瓶。 高可用性:系統不能崩潰。 公平性:儘量保證先到先得。 實施過程:一場精心編

觀點 , goroutine , concurrency , go , 後端

收藏 評論

粘豆煮包 - 腦抽研究生Go併發-4-分佈式併發原語-etcd、Leader 選舉、分佈式隊列和優先級隊列、分佈式柵欄、STM

分佈式併發原語 常用來做協調工作的軟件系統是 Zookeeper、etcd、Consul 之類的軟件 Zookeeper - Java Consul 分佈式併發原語一般 etcd🐂:分佈式互斥鎖、分佈式讀寫鎖、Leader 選舉 Leader 選舉 Leader + Slave 主節點常常執行寫操作,從節點常常執行讀操作,如果讀寫都在主節點,從節點只是提供一個備份功能的話,那麼,主從架構就會退

goroutine , 知識 , concurrency , go , 後端

收藏 評論

粘豆煮包 - 腦抽研究生Go併發-2-Channel-基本用法、實現原理、消息交流、數據傳遞、信號通知、任務編排等

Channel CSP(Communicating Sequential Process):CSP 允許使用進程組件來描述系統,它們獨立運行,並且只通過消息傳遞的方式通信 Channel 類型是 Go 語言內置的類型,可以直接使用 Don’t communicate by sharing memory, share memory by communicating. --Go Proverbs b

goroutine , 知識 , concurrency , go , 後端

收藏 評論