
Golang
软件工程小施同学
区块链、DevOps、小程序、软件工程
展开
-
GO 计算所有并发任务的总时间 WaitGroup
开发过程中,经常遇到task之间的同步问题。例如,多个子task并发完成一部分任务,主task等待他们最后结束。在Go语言,实现同步的一种方式就是WaitGroup。 t1 := time.Now() var wg sync.WaitGroup for i := 0; i <= 10; i++ { wg.Add(1) go worker(t, client,1, &wg) } wg.Wait() t2 := time.Now() fmt.Print原创 2021-07-29 18:33:48 · 456 阅读 · 0 评论 -
GO 获取两个时间点的差值
package mainimport ( "fmt" "time")func main() { temp := 0 t1 := time.Now() for i := 0; i < 100000; i++ { for j := 0; j < 10000; j++ { temp++ } } fmt.Println(temp) t2 := time.Now() .原创 2021-07-29 16:24:50 · 502 阅读 · 0 评论 -
Go 并发 多线程 goroutine channel 实例
Go 语言支持并发,我们只需要通过 go 关键字来开启 goroutine 即可。一、goruntinegoroutine 是轻量级线程,goroutine 的调度是由 Golang 运行时进行管理的。goroutine 语法格式:go 函数名( 参数列表 )例如:go f(x, y, z)开启一个新的 goroutine:f(x, y, z)Go 允许使用 go 语句开启一个新的运行期线程, 即 goroutine,以一个不同的、新创建的 goroutin原创 2021-07-29 15:52:19 · 2170 阅读 · 2 评论 -
go项目新增一个代码文件
1.记住路径名2.新建代码文件包名为文件夹名如果该函数要能被外面访问,则需要开头大写3.新建入口文件代码文件名不能以_test结尾,比如mian_test.go包名为main引入代码文件为的路径为:module名+包名4. 构建go build -o output/bin/test cmd/main_1.go...原创 2021-07-07 21:09:38 · 375 阅读 · 0 评论