golang 阻塞模式选择
发布时间:2020-12-16 18:36:24 所属栏目:大数据 来源:网络整理
导读:packagemainimport("fmt""time")funcmain(){test_chan1()//test_chan2()}functest_chan1(){x:=make([]chanint,10)fori:=0;i10;i++{x[i]=make(chanint,1)gofunc(xxchanint,iiint){//do_something()xx-ii}(x[i],i)}forj:=0;j10;j++{fmt.Printf("%v-",-x[j])}}f
packagemain import( "fmt" "time" ) funcmain(){ test_chan1() //test_chan2() } functest_chan1(){ x:=make([]chanint,10) fori:=0;i<10;i++{ x[i]=make(chanint,1) gofunc(xxchanint,iiint){ //do_something() xx<-ii }(x[i],i) } forj:=0;j<10;j++{ fmt.Printf("%v-",<-x[j]) } } functest_chan2(){ x:=make(chanint,10) fori:=0;i<10;i++{ gofunc(xxchanint,iiint){ //do_something() x<-ii }(x,<-x) } } //明显第二种阻塞方式会好一些,因为第一种阻塞方式有阻塞顺序的限制,第二种是没有顺序执行限制的 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |