GO多线程异步处理实例
所属分类 go
浏览量 845
goroutine 函数并发执行
go关键字
main函数本身也运行在一个goroutine中
go functionxxx 创建一个新的goroutine,并在这个新的goroutine中执行这个函数
package main
import (
"fmt"
"time"
)
func IsReady(what string, seconds int64) {
time.Sleep(time.Duration(seconds)*time.Second);
fmt.Println(what, "is ready",time.Now())
}
func main() {
go IsReady("tea", 3);
go IsReady("coffee", 1);
fmt.Println("I'm waiting....",time.Now());
// sleep , 避免 main goroutine 结束而退出
time.Sleep(time.Duration(5)*time.Second);
fmt.Println("exit",time.Now());
}
完整代码
https://gitee.com/dyyx/hellocode/blob/master/web/tech/go/demo/threaddemo.go
上一篇
下一篇
go程序设计语言01_06入门之并发获取多个URL
GO箴言 goproverbs
简洁的GO语言
go channel 实例
godoc安装
GO自定义模块实例