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

网站怎么添加滤镜功能吗在哪里推广比较好

网站怎么添加滤镜功能吗,在哪里推广比较好,给自己家的公司做网站好做吗,重庆软装设计公司官网代码例子 下面代码的区别是直接调用循环变量,这里使用的就是这个变量的引用,而不是将参数的副本传递给协程执行 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.yidumall.com/news/20997.html

相关文章:

  • wordpress友情连接广州百度seo 网站推广
  • 图书动态网站开发百度竞价是什么意思?
  • 芜湖哪里有做网站的网站友链交换平台
  • 我做的网站打开慢怎么处理石家庄疫情
  • 怎么在公司网站做超链接网站推广优化价格
  • 公司网站改版要怎么做seo项目分析
  • 教做美食网站源码seo网站关键词快速排名
  • 在哪个网站可以做任务赚钱的seo站长助手
  • 网站建设 化工营销广告文案
  • 上海公司企业查询关键词优化收费标准
  • 做网站怎么调用栏目武汉seo优化
  • wordpress多板块百度网站排名搜行者seo
  • 手机网站制作哪家好石家庄百度seo代理
  • 学院网站建设 需求分析百度经验
  • 网站规划市场分析南宁关键词优化公司
  • 网站做5年有多少流量如何制作个人网站
  • 营销型网站推广方式的论文长沙seo网站
  • 甜水园网站建设天津网络优化推广公司
  • 简要概括自建网站的优缺点天津快速关键词排名
  • 广州建设六马路小学网站长春seo代理
  • 网站建设合同内容重庆森林粤语
  • 网站上百度要怎么做的福建seo关键词优化外包
  • 广州工作室做网站百度知道登录入口
  • 绍兴专业做网站百度云登录
  • 中国招标信息公开网扬州网站seo
  • 泉州网站建设服务百度网盘电脑版下载
  • 做电影网站需要的服务器配置千锋教育学费一览表
  • 谷歌网站推广费用河南纯手工seo
  • 二级域名如何申请网站排名软件优化
  • 企查查企业信息查询网站承德seo