golang 两个go程轮流打印一个切片的实现
问题描述:
两个go程轮流打印一个切片。
Golang实现:
使用两个channel,只用来判断
packagemain import( "fmt" "sync" ) //两个go程轮流打印一个切片 funcmain(){ ch1:=make(chanbool,1) ch2:=make(chanbool,1) ch1<-true nums:=[]int{1,2,3,4,5,6,7,8,9} variint varwgsync.WaitGroup wg.Add(2) gofunc(){ for;i注意
要理清两个子go程的判断条件,要注意是先判断i的大小还是先判断管道是否有值。
稍有不慎就会发生死锁哦。
使用两个channel,用来传值
packagemain import( "fmt" "sync" ) //两个go程轮流打印一个切片 funcmain(){ ch1:=make(chanint,1) ch2:=make(chanint,1) nums:=[]int{1,2,3,4,5,6,7,8,9} ch1<-nums[0] i:=1 numsLen:=len(nums) varwgsync.WaitGroup wg.Add(2) gofunc(){ for;i到此这篇关于golang两个go程轮流打印一个切片的实现的文章就介绍到这了,更多相关golanggo程轮流打印一个切片内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!