golang并发二三事

本文主要是鸟窝《深入理解go并发编程》中的读书速记以及一些并发库的使用例子集合 常用的并发库使用 sourcegraph conc waitgroup 创建一组协程并等待完成: 标准库 func main() { var wg sync.WaitGroup for i := 0; i < 10; i++ { wg.Add(1) go func() { defer wg.Done() // crashes on panic! doSomething() }() } wg.Wait() } conc func main() { var wg conc.WaitGroup for i := 0; i < 10; i++ { wg.Go(doSomething) } wg.Wait() } 下面是一个官网博客的例子: 写一个函数,给定用户的名字,通过网络获取姓氏 func fetchLastName(ctx context.Context, firstName string) (string, error) { req, err := http....

December 18, 2023 · 3 min · czyt