codepackagemainimport("fmt")varc=make(chanint,50)varcount=0funcmain(){fori:=0;i<5;i++{goconsumer(i)}fori:=0;i<1000;i++{c<-i}/**here**/fmt.Println(count)}funcconsumer(indexint){fortarget:=rangec{fmt.Printf("no.%d:%d\n",index,target)count++}}请问代码中注释处,如何才能确保c中的数据已经全部被消费?(默认time.Sleep()无法保证,不能使用)如果不能确保的话,那么主线程会提前退出,部分数据就会被抛弃了。
慕尼黑的夜晚无繁华
相关分类