当前位置: 首页 > wzjs >正文

宋朝网站应该怎么做网络推广怎么学

宋朝网站应该怎么做,网络推广怎么学,中山网站开发,湖南网站建设磐石网络最好文章目录 select中case的使用非阻塞select有4个goroutine,按编号1、2、3、4循环打印使用三个协程,每秒钟打印cat dog fish实现两个goroutine轮流输出A 1 B 2 C 3..Z 26用N个goroutine去按顺序打印数字有一个数组,用两个协程,一个打…

文章目录

  • select中case的使用
  • 非阻塞select
  • 有4个goroutine,按编号1、2、3、4循环打印
  • 使用三个协程,每秒钟打印cat dog fish
  • 实现两个goroutine轮流输出A 1 B 2 C 3..Z 26
  • 用N个goroutine去按顺序打印数字
  • 有一个数组,用两个协程,一个打印所有偶数的和,一个打印所有奇数的和,要用for channel机制

select中case的使用

请问以下程序的输出结果?

func case1() {c1 := make(chan int)c2 := make(chan int)close(c1)close(c2)select {case <-c1:fmt.Println("c1")case c2 <- 1:fmt.Println("c2")default:fmt.Println("default")}
}

非阻塞select

以下程序输出结果?

func case2() {c := make(chan int, 1)done := falsefor !done {select {case <-c:print(1)c = nilcase c <- 1:print(2)default:print(3)done = true}}
}

有4个goroutine,按编号1、2、3、4循环打印

func case3() {ch := make([]chan int, 4)for i := range ch {ch[i] = make(chan int)go func(i int) {for {v := <-ch[i]fmt.Println(v + 1)time.Sleep(time.Second)ch[(i+1)%4] <- (v + 1) % 4}}(i)}ch[0] <- 0select {}
}

使用三个协程,每秒钟打印cat dog fish

func case4() {chCat := make(chan struct{})chDog := make(chan struct{})chFish := make(chan struct{})go func() {for {<-chCatfmt.Println("cat")time.Sleep(time.Second)chDog <- struct{}{}}}()go func() {for {<-chDogfmt.Println("dog")time.Sleep(time.Second)chFish <- struct{}{}}}()go func() {for {<-chFishfmt.Println("fish")time.Sleep(time.Second)chCat <- struct{}{}}}()chCat <- struct{}{}select {}
}

实现两个goroutine轮流输出A 1 B 2 C 3…Z 26

func case5() {byteCh := make(chan struct{}, 1)intCh := make(chan struct{}, 1)byteCh <- struct{}{}go func() {for {for i := 'A' - 0; i <= 'Z'-0; i++ {<-byteChfmt.Println(string(i))intCh <- struct{}{}}}//return}()go func() {for {for i := 1; i <= 26; i++ {<-intChfmt.Println(i)byteCh <- struct{}{}}}//return}()time.Sleep(time.Second)
}

用N个goroutine去按顺序打印数字

func case6() {const n = 5ch := make([]chan int, n)for i := 0; i < n; i++ {ch[i] = make(chan int, 1)}for i := 0; i < n; i++ {go printNum(i, ch[i])}count := 0for i := 0; i < 100; i++ {for j := 0; j < n; j++ {ch[j] <- countcount++time.Sleep(time.Second * 1)}}
}func printNum(gid int, ch chan int) {for {fmt.Printf("g:%d,num:%d\n", gid, <-ch)}
}

有一个数组,用两个协程,一个打印所有偶数的和,一个打印所有奇数的和,要用for channel机制

func case7() {nums := [5]int{1, 2, 32, 41, 5}oneCh := make(chan int, 1)twoCh := make(chan int, 1)go printOld(oneCh, nums[:])go printNew(twoCh, nums[:])fmt.Println(<-oneCh)fmt.Println(<-twoCh)
}func printOld(ch chan int, arr []int) {sum := 0for _, v := range arr {if v%2 == 0 {sum += v}}ch <- sum
}func printNew(ch chan int, arr []int) {sum := 0for _, v := range arr {if v%2 != 0 {sum += v}}ch <- sum
}
http://www.dtcms.com/wzjs/293916.html

相关文章:

  • 中学院新校区建设专题网站西安官网seo
  • 佛山模板建站代理新东方雅思培训机构官网
  • 杭州网站建设 网络服务百度竞价排名怎么靠前
  • 怎么建设网站商城如何制作网页最简单的方法
  • 英文网站案例属于seo网站优化
  • 优美女人女性网站模版临沂seo顾问
  • 合肥网站建设博客虎门今日头条新闻
  • 武昌网站建设公司企业网络营销案例分析
  • 怎么查看网站空间大小厦门seo起梦网络科技
  • 免费邯郸网站建设精准客户软件
  • 网站制作测试范围怎么制作公司网页
  • wordpress文件储存seo推广需要多少钱
  • 网站单页在线制作国家最新新闻
  • 营销型网站建设案例杭州seo外包服务
  • 做微信首图的网站域名注册信息查询whois
  • 天津小型企业网站设计b站视频推广的方法有哪些
  • 网站建设公司哪有给网站做seo的价格
  • 彩票龙虎网站开发博客网站
  • 网站开发培训哪家好企业短视频推广
  • 怎么做网站底部版权信息长沙seo袁飞
  • 网页源代码翻译器搜索引擎优化是什么工作
  • 网页设计一般多少钱seo长沙
  • 台州首页关键词优化seo权重优化软件
  • 淳安千岛湖建设集团网站优秀软文范例800字
  • html网站建设源码视频优化软件
  • 牛商网做网站百度推广排名怎么做的
  • wordpress价格表单东莞关键词优化平台
  • 合肥做网站的软件公司上海高端seo公司
  • ppt模板做的好的网站有线下推广方法有哪些
  • web站点百度推广代理查询