この記事では、Golang に関する関連知識を紹介し、非常に使いやすい Golang 同時実行制御ライブラリについて説明します。
#同時実行性GOPROXY=https://goproxy.cn go get -v github.com/lxzan/concurrency@latest機能
サポート
パニック回復
はエラー スタックのタスク スケジューリングを再帰的に実装し、
time.Ticker
## には依存しません。
package mainimport ( "fmt" "github.com/lxzan/concurrency" "sync/atomic")func main() { sum := int64(0) w := concurrency.NewWorkerGroup() for i := int64(1); i <= 10; i++ { w.AddJob(concurrency.Job{ Args: i, Do: func(args interface{}) error { fmt.Printf("%v ", args) atomic.AddInt64(&sum, args.(int64)) return nil }, }) } w.StartAndWait() fmt.Printf("sum=%d\n", sum)}
4 5 6 7 8 9 10 1 3 2 sum=55
WorkerQueue ワーク キュー。継続的にタスクを追加し、CPU リソースが空いたら実行できます [推奨事項:
goチュートリアル以上が非常に使いやすい GO 同時実行制御ライブラリを共有してください。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。