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

网站怎么添加滤镜功能吗百度 营销推广多少钱

网站怎么添加滤镜功能吗,百度 营销推广多少钱,网站做外链的具体步骤,oa网站模板代码例子 下面代码的区别是直接调用循环变量,这里使用的就是这个变量的引用,而不是将参数的副本传递给协程执行 for task : range taskChan {wg.Add(1)go func() {defer wg.Done()task.Do() // 使用外部循环变量}() }func DistributeTasks(taskChan &…

代码例子

下面代码的区别是直接调用循环变量,这里使用的就是这个变量的引用,而不是将参数的副本传递给协程执行

for task := range taskChan {wg.Add(1)go func() {defer wg.Done()task.Do()  // 使用外部循环变量}()
}
func DistributeTasks(taskChan <-chan *AddTask, resChan chan int) {var wg sync.WaitGroupfor task := range taskChan {wg.Add(1)go func(t *AddTask) {defer wg.Done()t.Do()}(task) // 注意要当作参数传入,而不是直接在 开启的协程 内部调用task,}wg.Wait()close(resChan)
}

结论

  • 可能导致的问题:
    • 在 Go 语言中,当你使用 go 关键字启动一个 goroutine 时,它会在一个新的并发执行单元中运行。在原始代码中,将 task 作为参数传递给匿名函数,确保了每个 goroutine 操作的 task 是独立的,因为函数参数是按值传递的,这意味着在 go 语句执行时,会将 task 的副本传递给匿名函数。
    • 如果不将 task 作为参数传递,而是直接在匿名协程 goroutine 中调用 task,由于 goroutine 可能会在 for 循环的下一次迭代开始后才开始执行,而 for 循环会不断更新 task 的值,这可能会导致 goroutine 看到的 task 值不是你期望的那个。
    • 例如:goroutine执行时间很长,而程序中开启goroutine是一个很快的过程,开启完毕之后就执行下一次for循环了,循环变量task也就变了,之前开启的goroutine执行到task.Do() 的时候,已经是其他次循环的task变量
for task := range taskChan {wg.Add(1)go func() {defer wg.Done()//假如这里有比较久的耗时操作task.Do()  // 使用外部循环变量,这时候可能已经当时那一次循环的task了,因为开启协程这段代码一下子就执行完毕}()
}
http://www.mmbaike.com/news/91938.html

相关文章:

  • 长春网站建设工作室宁波seo网站推广软件
  • 企业网站html网站优化方案模板
  • 动态网站开发试题和答案网站设计方案
  • 项目网络图廊坊seo整站优化
  • 网站开发用什么编辑语言好爱站工具包的模块有哪些
  • 网站建设常用编程语言网盘资源共享网站
  • 网络营销策划方案的设计seo 推广怎么做
  • 自助网站制作系统源码十大暗网搜索引擎
  • 党建网站建设成效外贸seo网站建设
  • 东莞免费网站建站模板360关键词推广
  • 网站设计东莞东莞服务好的营销型网站建设
  • 广告公司简介简短绍兴百度seo排名
  • 网站开发功能表众志seo
  • wordpress自定义全局变量seo在线推广
  • 企业商城网站建设上海百度搜索排名优化
  • 网站cms识别黑龙seo网站优化
  • 重庆专业的网站建设公司重庆黄埔seo整站优化
  • 正规品牌网站设计做seo推广公司
  • 营销型网站建设效果东莞最新消息今天
  • 深圳宝安做网站的以图搜图百度识图网页版
  • 深圳市深圳市住房和建设局网站沈阳今日新闻头条
  • 怎么找平台推广自己的产品seo是什么意思呢
  • 多久可以做网站竞价推广遇到恶意点击怎么办
  • 陕西最新新闻重大事件seo谷歌外贸推广
  • 飞机多少钱一架优化网站价格
  • No物流网站建设cpa广告联盟平台
  • 自适应网站好还是介绍产品的营销推文
  • wordpress 文章数据表seo计费怎么刷关键词的
  • 创建一家网站如何创磁力多多
  • 做医院网站公司百度搜索风云榜游戏