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

沈阳网站建设哪家做得好啊网站制作需要多少钱一年

沈阳网站建设哪家做得好啊,网站制作需要多少钱一年,字体设计网站有哪些免费,站长工具排行榜第二题#xff1a; 创建一个生产器和接收器#xff0c;再建立一个无缓冲的channel。生产器负责把数据放进管道里#xff0c;接收器负责把管道里面的数据打印出来。这里我们开5个协程把数据打印出来。 直接上代码#xff01; package mainimport (fmt )func …第二题 创建一个生产器和接收器再建立一个无缓冲的channel。生产器负责把数据放进管道里接收器负责把管道里面的数据打印出来。这里我们开5个协程把数据打印出来。 直接上代码 package mainimport (fmt )func receive(c -chan int) {/*for v : range c {fmt.Println(received:, v)}*/for i : 0; i 1; i {go func() {for v : range c {fmt.Println(v)}}()} } func generator() -chan int {c : make(chan int)for i : 0; i 9; i {go func(i int) {for j : 0; j 9; j {temp : i*100 20 jc - temp}close(c)}(i)}return c } func main() {c : generator()receive(c) } 埋了个小坑跑上面的代码在这里是不会有任何输出的。 原因是main函数结束时程序就退出了,没有给goroutine足够运行的时间来打印输出。 整个流程是并发执行的,main函数、generator的goroutine、receive的goroutine都是并发运行。 但是问题是main函数和generator很快就结束了,程序退出,receive的goroutine来不及打印数据。 解决方法就是让main函数等一等receive的goroutine。我们在main函数中加上一句 time.Sleep(time.Second * 5) 这时看到可以顺利输出了。 但是... 但是却panic了。为什么呢 因为generator()把消息发送到了关闭的管道。是因为生成器goroutine和接收goroutine的生命周期没有控制好导致的。 主要原因在于,接收的goroutine一旦从通道接收完所有的数据并退出,通道就会被关闭。 而此时,生成器goroutine可能还在向这个通道发送数据,于是产生了panic。 要避免这种情况,需要确保: 1、接收goroutine在最后一个生成器goroutine退出之前不能退出。 2、生成器goroutine在关闭通道之前,必须保证接收goroutine仍在运行。 问题出在生成器中close(c)这一行。这里每个goroutine都在自己完成后关闭了通道c。 按照程序逻辑,通道c应该在最后一个goroutine完成时关闭一次,而不是每个goroutine都关闭。所以应该只在主goroutine中关闭c。这里我们用WaitGroup来同步。 func generator() -chan int {c : make(chan int) var wg sync.WaitGroupwg.Add(10) // 添加10个goroutinefor i : 0; i 10; i {go func() {// 生成数据 wg.Done() // goroutine结束}()} go func() {wg.Wait() // 等待所有goroutine完成close(c) // 关闭通道,仅关闭一次 }()return c } 顺利输出
http://www.hkea.cn/news/14427328/

相关文章:

  • 龙华网站建设公司网站建设土豆视频教程
  • 简洁 手机 导航网站模板下载pc端手机网站 样式没居中
  • 秦皇岛做网站外包泰州网站建设价位
  • 网站备案网站类型wordpress登录页修改
  • 恩施网站优化全网推广的方式
  • 公司经营范围 网站开发建设人员变更是哪个网站
  • 制作网站的软件下载如何做推广呢
  • 常德哪里有做网站建设项目流程八个阶段
  • 电商网站项目经验介绍ppt模板网站绿标怎么做
  • 揭阳网站制作软件做软件代理去哪个网站
  • 网站设计制作全网优惠蚁百杭州网站seo优化
  • 专做零食的网站网站做双拼域名什么意思
  • 一键做单页网站做网站怎么接业务
  • 外国网站怎么做电力建设规范下载网站
  • 济南做网站互联网公司有哪些做儿童业态招商要去哪些网站
  • 《21天网站建设实录爱站网挖掘关键词
  • 网站设计公司服务平台手机网站跳转代码
  • 和韩国做贸易的网站四川招标信息网官网
  • 山东省住房和城乡建设网站现在做网站用什么软件
  • wordpress申请网站网站制作 北京
  • 成品网站源码多少钱wordpress 标签seo插件
  • 网站建设被骗维护费谷歌搜索关键词排名
  • 汤臣倍健网站建设方案手表商城网站建设方案
  • 合肥门户网站制作建设短剧小程序源码
  • 做的怎样 英文网站ucc工业设计
  • 谁做违法网站如何自己建个网站
  • 威海做网站的公司哪家好网站建设发言材料
  • 建设项目环境影响评价验收网站做网站开发的需求文档
  • 如何把怎己做的网页放到网站上摄影师如何做网站
  • 做网站 简单外包百度搜索