利用一个chan执行一个并发的任务, 整个任务的最大耗时是最耗时的那个子任务
func SendChan(data int){ t := 10 - data if data == 5{ t = 20 } time.Sleep(time.Duration(t*1e9)) C <- data } func main(){ for i:=0; i<10; i++{ go SendChan(i) } for i:=0; i<10; i++{ var data int = <- C fmt.Println("data:", data) } }
有疑问加站长微信联系(非本文作者)