首页 > 其他分享 >go并发的坑

go并发的坑

时间:2023-01-18 11:33:45浏览次数:25  
标签:wg fmt sync 并发 func go main

1、闭包的坑

案例1:

package main

import (
	"fmt"
	"sync"
	"time"
)

func main() {
	wg := sync.WaitGroup{}
	wg.Add(2)
	for i := 0; i < 2; i++ {
		go func() {
			prefix := fmt.Sprintf("%d", i+1)
			for c := 'A'; c <= 'A'; c++ {
				fmt.Printf("%s:%c\n", prefix, c)
				time.Sleep(time.Millisecond)
			}
			wg.Done()
		}()
	}
	fmt.Println("Card")
	wg.Wait()

}

输出如下:

 

标签:wg,fmt,sync,并发,func,go,main
From: https://www.cnblogs.com/wuchangblog/p/17059467.html

相关文章

  • Golang第六章:协程、管道、反射、网络编程
    goroutine调度模型 管道 管道基本使用packagemainimport("fmt")funcmain(){varintChanchanintintChan=make(chanint,3)......
  • (转)12.手撕Go语言-方法
    原文:https://www.jianshu.com/p/a122a93ccc69方法是为特定类型定义的,只能由该类型调用的函数定义方法是添加了接收者的函数,接收者必须是自定义的类型   1......
  • (14)go-micro微服务服务层Handle开发
    目录一Handle层开发功能说明需要完成的服务开发功能:从哪找需要开发的功能二代码编写三最后一Handle层开发功能说明需要完成的服务开发功能:登录注册查询用户信息......
  • go httptest请求
    packagetestimport("encoding/json""github.com/cookieY/yee""io/ioutil""log""net/http""net/http/httptest""strings")typeCasestruct{Met......
  • golang实现set
    golang没有原生的set要实现set可以使用map来简易实现定义一个Set可以这么定义typeSet[Tcomparable]struct{setmap[T]struct{}}为什么map的值类型用struct{......
  • django-rest-swagger
    Swagger是一个API开发者的工具框架,用于生成、描述、调用和可视化RESTful风格的Web服务。总体目标是使客户端和文件系统服务器以同样的速度来更新,方法,参数和模型紧密集成到......
  • go 报错汇总
    go报错汇总syntaxerror:non-declarationstatementoutsidefunctionbody我是这样写的,谷歌搜了一下说是运算需要放在main函数里(我是初学go^_^)。packagemainimp......
  • Django接入Swagger,生成Swagger接口文档-操作解析
        Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。总体目标是使客户端和文件系统源代码作为服务器以同样的速度来更新。当......
  • go 锁
    Gosync包提供了两种锁类型:互斥锁sync.Mutex和读写互斥锁sync.RWMutex,都属于悲观锁。概念:Mutex是互斥锁,当一个goroutine获得了锁后,其他goroutine不能获取锁(只能存......
  • brew install mongodb
    admin@admindeMac-mini/%[email protected]......