跳至主要內容
yomihon 書庫
整體狀況設定

鍵盤快捷鍵

⌘K / Ctrl K
搜尋
Esc
關閉搜尋或篩選
/
跳到導覽篩選(單鍵開啟時)
[
收合或展開側欄(單鍵開啟時)

關掉之後,/ 和 [ 都只會照瀏覽器原本的方式輸入;⌘K 與 Esc 不受影響。

設定
esc

↑↓ 選擇 ↵ 搜尋 esc 關閉
學習路徑

Go 並行入門

從一個 goroutine 開始,把整數交給另一份工作處理,再逐步加入關閉、取消與固定數量的 worker。

適合已會 Go 的函式、slice 與 for 迴圈,尚未寫過並行程式的讀者。五課主線各有一支完整程式;select 與逾時放在第四課的選讀支線。

範例以 Go 1.27.0 驗證,只使用標準函式庫。每次取一課的程式,存成獨立目錄中的 main.go,執行 go run main.go;各課都有自己的 main,不要合併在同一個檔案。

5 課 支線 1 課

第一部 啟動與交接

  1. G01 goroutine 與等待 — 啟動工作,等它完成
  2. G02 channel 的交接 — 發送值,取回結果
  3. G03 關閉 channel — 告訴接收者不會再有值

第二部 取消與限制工作數量

  1. G04 取消不再需要的工作 — 接收者提早離開,producer 也能退出
  2. G05 固定數量的 worker — 限制同時處理的工作數

查閱與對照

整篇筆記