Go 語言教學: 優化重構 Worker Pool 程式碼

  Рет қаралды 920

Bo-Yi Wu

Bo-Yi Wu

Күн бұрын

最近看到 Go 語言一段程式碼,認為有很大的優化空間,也將過程跟想法分享給大家。也許每個人優化的方向不同,各位讀者可以把程式碼整個看完後,先停住,不要繼續往下看,想看看是否有優化的空間。此程式碼本身沒有任何問題,執行過程不會出現任何錯誤。
先說明底下範例在做什麼,相信大家都有聽過在 Go 語言內要實現 Worker Pools 機制相當簡單,看到 ExecuteAll 函式就是讓開發者可以自訂同時間開多少個 Goroutine 來平行執行工作,第二個參數可以自訂義工作內容是什麼。
程式碼: go.dev/play/p/...
部落格: blog.wu-boy.co...
線上課程
1. Go 語言課程: blog.wu-boy.co...
2. Docker 容器實戰: blog.wu-boy.co...
3. DevOps CI/CD 實戰: blog.wu-boy.co...
需要架構,洽談,教學,教育訓練,以下是我聯絡方式
email: appleboy.tw@gmail.com
line ID: appleboy46 或手機 0934353293
小額贊助: bit.ly/donate-a...
部落格: blog.wu-boy.com
Twitter: / appleboy
Facebook: / appleboy46
投影片: speakerdeck.co...
GitHub: github.com/app...
KZbin: bit.ly/youtube-boy

Пікірлер: 1
@上官晓芳
@上官晓芳 Жыл бұрын
老师您好,原代码的问题是不是因为使用了err作为结束条件有问题,因为在协程并行的时候,err作为局部变量,它的修改不能影响到其他协程的匿名函数中的err,如果使用全局的err变量是不是就可以了。
用 10 分鐘了解 Go 語言如何從 Channel 讀取資料
11:32
IL'HAN - Qalqam | Official Music Video
03:17
Ilhan Ihsanov
Рет қаралды 700 М.
Cheerleader Transformation That Left Everyone Speechless! #shorts
00:27
Fabiosa Best Lifehacks
Рет қаралды 16 МЛН
[微服務] 什麼是 gRPC,架構上為什麼要使用 gRPC
12:59
【OpenGL 篇】为什么游戏总要编译着色器?
16:04
Redknot-乔红
Рет қаралды 105 М.
實作用 Go 語言實現 Pub-Sub 模式
16:10
Bo-Yi Wu
Рет қаралды 1,4 М.
【漫士】为什么做的题越多,考试反而越差?
14:54
漫士沉思录
Рет қаралды 95 М.
IL'HAN - Qalqam | Official Music Video
03:17
Ilhan Ihsanov
Рет қаралды 700 М.