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

宣传广告设计图片搜索引擎优化排名关键字广告

宣传广告设计图片,搜索引擎优化排名关键字广告,wordpress 4.6.1 漏洞,今日新闻联播主要内容题目:使⽤两个goroutine交替打印序列,⼀个goroutine打印数字, 另外⼀个goroutine打印字母,实现效果如下: 解答:题目要求用两个goroutine来交替打印数字和字母,核心问题是交替这两个字&#xff0…

题目:使⽤两个goroutine交替打印序列,⼀个goroutine打印数字, 另外⼀个goroutine打印字母,实现效果如下:

解答:题目要求用两个goroutine来交替打印数字和字母,核心问题是交替这两个字,涉及到两个进程之间的通信问题了,需用channel来控制打印的进度。

使用两个channel来分别控制打印数字的goroutine(A)和打印字母的goroutine(B)序列,A完成后通过channel通知B进行字母打印,B完成后通知A进行数字打印,然后周而复始运行。

因为用到了两个goroutine,所以需要使用一种同步方式,也就是Go中的WaitGroup,来保证这两个goroutine都能执行完毕。

上述解答中各名词含义如下:

  1. Go最大的特色是从语言层面支持并发(goroutine),它是Go中最基本的执行单元,也是Go提供的一种用户态线程,有时也称为协程。每一个Go程序至少有一个goroutine,在运行程序时,它会自行创建。

  2. channel是goroutine之间通信的一种方式,可类比成Unix的进程的通信方式管道。

  3. WaitGroup是Go中一种实现同步的方式,要注意的是WaitGroup变量定以后,是不允许被拷贝的,也就是说允许作为函数参数或赋值给其它变量。

案例如下:

package mainimport ("fmt""strings""sync")func main() {  letter, number := make(chan bool), make(chan bool)  wait := sync.WaitGroup{}  go func() {    i := 1    for {      select {      case <-number:        fmt.Println(i)        i++        fmt.Println(i)        i++        letter <- true        break      default:        break      }    }  }()  wait.Add(1)  go func(wait *sync.WaitGroup) {    str := "ABCDEFGHIJKLMN"    i := 0    for {      select {      case <-letter:        if i >= strings.Count(str, "")-1 {          wait.Done()          return        }        fmt.Println(str[i : i+1])        i++        if i >= strings.Count(str, "") {          i = 0        }        fmt.Println(str[i : i+1])        i++        number <- true        break      default:        break      }    }  }(&wait)  number <- true  wait.Wait()}

上述代码中用到两个channel进行通信,letter负责通知打印字母的goroutine进行字母打印,number用来通知打印数字的goroutine进行数字打印,wait则是等待字母打印完成后退出循环。

扫码关注公众号,获取更多优质内容。

 

http://www.lbrq.cn/news/2450755.html

相关文章:

  • 做新闻类网站南宁seo网站排名优化公司
  • 如何管理网站页面设计超级优化
  • 建设教育局官方网站未来网络营销的发展趋势
  • 软件系统网站建设关键词挖掘啊爱站网
  • 网站建设经验材料武汉seo服务多少钱
  • 网站设计咨询电话百度集团公司简介
  • 网站接单平台广东百度推广的代理商
  • 没得公司可以做网站嘛北京网站优化哪家好
  • 做字网站东莞企业网站排名优化
  • 政府网站英文版建设seo是指什么岗位
  • 网站运营这么做做网站seo优化
  • 爱企查 免费如何优化企业网站
  • 网站建设学费网址大全浏览器app
  • 全世界做会展介绍的网站排名移投界seo
  • 做外链选择那些网站网络推广方案的内容
  • 做电商网站费用生成关键词的软件
  • ps做的网站怎样在dw里打开市场调研怎么写
  • dede网站本地访问速度慢计算机培训短期速成班
  • python做博客网站百度站长提交
  • 应该怎样做网站地图刷排名有百度手机刷排名
  • 江苏省住房和城乡建设委员会网站今日头条关键词工具
  • 企业网站优化服务主要围绕什么上海seo推广外包
  • 上海画册设计网站seo关键词排名
  • 苏州企业网站制作开发广告优化师
  • 常州软件开发公司汕头seo网站建设
  • 一款蛋糕食品类企业手机网站源码网络营销方案设计
  • 品牌画册设计佛山抖音seo
  • 局域网内的网站建设中国新冠疫苗接种率
  • 深圳建设工程协会网站常州网站建设书生商友
  • 北京市建设工程造价管理协会网站百度 营销怎么收费
  • Apache Commons:Java开发者的瑞士军刀
  • 时序数据库IoTDB的核心功能特性
  • 5G-RAN与语义通信RAN
  • 在vue3中watch和watchEffect的区别
  • 面试实战,问题七,Object类中包含哪些常用方法及其作用,怎么回答
  • 音视频学习(四十三):H264无损压缩