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

20个外国平面设计网站企业推广平台

20个外国平面设计网站,企业推广平台,苏州网站优化企业,企业管理考研院校推荐在后端开发当中#xff0c;经常会遇到这样的场景#xff1a;请求给了批量的输入#xff0c;对于每一个输入#xff0c;我们都要给外部发请求等待返回#xff0c;然后才能继续其它自己的业务逻辑。在这样的case下#xff0c;如果每一个输入串行处理的话#xff0c;那么很…在后端开发当中经常会遇到这样的场景请求给了批量的输入对于每一个输入我们都要给外部发请求等待返回然后才能继续其它自己的业务逻辑。在这样的case下如果每一个输入串行处理的话那么很大一部分时间都会损耗在给外部发请求这个环节因此我们会希望把这些请求放到各个goroutine里异步执行等待批量执行完成之后再继续后面的逻辑。这个时候我们就可以用到这个东西sync.WaitGroup WaitGroup提供了增减计数以及阻塞等待计数归零的线程安全接口。当主goroutine增加计数并等待的时候子goroutine的逻辑中若引用了一个WaitGroup实例的话也可以在结束defer的时候去减少计数这样当主goroutine自旋等待计数归零时等待的逻辑就返回了就继续后面的内容。整体上就达到了等待多路并行的异步任务这一效果。 一个典型的代码案例如下 func TestWaitGroup(t *testing.T) {var wg sync.WaitGroupstartTime : time.Now()for i : 0; i 5; i {n : i 1sleepTime : time.Duration(n) * time.Secondwg.Add(1)go func() {defer wg.Done()t.Logf(task %d started, n)time.Sleep(sleepTime)t.Logf(task %d ended, n)}()}t.Logf(waiting for all tasks done...)wg.Wait()endTime : time.Now()t.Logf(all tasks done! elapsed time: %v, endTime.Sub(startTime)) }整个逻辑很简单我们起了5个任务每个任务分别sleep上1到5秒。主goroutine此时在每个任务开始前给WaitGroup实例wg加上1个计数而在子goroutine里defer地调用wg.Done减少计数。主goroutine起完任务之后直接调用wg.Wait自选等待。这样5s后等所有任务Done主goroutine就会接下来打印消耗时间的日志信息了。 打印的内容如下 RUN TestWaitGroupwg_test.go:26: waiting for all tasks done...wg_test.go:21: task 5 startedwg_test.go:21: task 1 startedwg_test.go:21: task 2 startedwg_test.go:21: task 3 startedwg_test.go:21: task 4 startedwg_test.go:23: task 1 endedwg_test.go:23: task 2 endedwg_test.go:23: task 3 endedwg_test.go:23: task 4 endedwg_test.go:23: task 5 endedwg_test.go:29: all tasks done! elapsed time: 5.0015089s --- PASS: TestWaitGroup (5.00s) PASSWaitGroup的用法非常简单但这里注意的是实际遇到这种编程场景一般会涉及到多任务运行结果收集还有程序异常处理相关的内容。因此像recover或者select超时等一些子goroutine任务异常处理的逻辑可能视实际情况都得配合加上。
http://www.pierceye.com/news/512474/

相关文章:

  • illustrator 学习网站wordpress外链产品
  • 电脑端网站一般做多宽最好网页游戏制作成本
  • 怎样做好手机网站建设wordpress开启xml rpc
  • 泉州企业网站建设公司做外贸要建什么网站
  • 找人做网站价格永城网站设计公司
  • 如何让网站做网页适配深圳市门户网站建设多少钱
  • 中金超钒 网站建设淘客推广方法
  • 网站建设的基本流程域名备案需要哪些资料
  • 怎么查找网站死链怎么自己做微信推送新闻
  • 做网站的人能看到浏览的人的信息吗怎么刷网站权重
  • 有了域名搭建网站详细步骤服务外包有哪些
  • 外贸网站样式传扬互动网站建设公司
  • 企业网站建设需要哪些资料信息免费推广工具
  • 网站怎么更新网页内容如何把自己的产品放到网上卖
  • jQuery网站建设中倒计时代码提高工作效率的重要性
  • 网站建设业务介绍深圳观澜网站建设
  • 最简单的做网站网站开发项目需求文档
  • wordpress网站打开速度小程序搜索排名帝搜sem880官网
  • 台州做网站公司企业网站seo策略
  • 专业网站建设推广网络营销推广方法和手段有哪些
  • 莘县做网站推广2345浏览器官方网站
  • 深圳网站建设公司为什mrskinlove wordpress
  • html 网站建设中模板网络营销推广与策划
  • 企业管理网站模板asp.net做电商网站设计
  • 萧山建站wordpress主题机制
  • ps可以做网站动态图网页设计参考板式
  • 温州集团网站建设西昌市网站建设公司
  • 奇想网站建设wordpress分页调用代码
  • 站点推广名词解释管理培训课程
  • 做一个网站 多少钱成都到西安