下面介紹一下go語言第三方庫parallel的並行使用:
中可以檢視庫的使用用例。
parallel是乙個go語言並行程式庫, 用於不改變現有介面宣告前提下的業務聚合或者重構.
如果需要迴圈某乙個函式(onedbalarmcodeanaylse),只是引數不同(db, userinfo),則可以使用parallel,
它可以並行執行,極大提高執行速度。
setmaxprocs()函式表明parallel只能使用所有可用cpu的一半。
結果results中就是函式onedbalarmcodeanaylse返回的bson.m型別的資料,
它會把leng個bson.m資料存在bson.m型別的results中。
func
(this *publicreport)
provincealmcodealmtrendaddhour
(userinfo bson.m)
length :=
len(userinfo)
p := parallel.
newparallel()
pchild :=
make([
]*parallel.parallel, leng)
results :=
make([
][]bson.m, length)
for i :=
0; i < length; i++
p.run()
ifnil
!= err
log.
error
("results"
,len
(results)
, results)
}func
(this *publicreport)
onedbalarmcodeanaylse
(db string
, userinfo bson.m)
bson.m
func
setmaxprocs()
runtime.
gomaxprocs
(halfcpu)
}
Go第三方日誌庫logrus
目錄 六 字段 七 預設字段 八 日誌條目 九 hooks 十 格式化 十一 記錄函式名 go 從入門到放棄完整教程目錄 更有python go pytorch tensorflow 爬蟲 人工智慧教學等著你 更新 更全的 go從入門到放棄 的更新 更有python go 人工智慧教學等著你 日誌是...
Go第三方日誌庫logrus
日誌是程式中必不可少的乙個環節,由於go語言內建的日誌庫功能比較簡潔,我們在實際開發中通常會選擇使用第三方的日誌庫來進行開發。本文介紹了logrus這個日誌庫的基本使用。logrus是go golang 的結構化logger,與標準庫logger完全api相容。它有以下特點 使用logrus最簡單的...
go匯入第三方包
最好的學習方式就是實踐。我們通過匯入gin包來深入學習。首先回想一下,我們安裝goland的時候,設定了幾個比較重要的環境變數,也就是goroot和gopath。goroot比較容易理解。也就是我們go語言的安裝目錄,標準庫什麼的就放在裡面的。在linux中的話,預設安裝到 usr lib go中,...