go语言从例子开始之Example21.协程
2024-09-03 12:13:25
Go 协程 在执行上来说是轻量级的线程。
golang使用协程用go关键字。后边正常调用函数。
Example:
package main import "fmt" func ak(str string){
for i:=0; i<3; i++{
fmt.Println(str, ":", i)
}
} //协程main中要注意,协程还没执行完main就退出了。
//换句话说就是main没有等待所有goroutine结束即退出。
func main(){
ak("direct") go ak("goroutine")
go ak("sk") //go异步运行,这里用Scanln等待,需要退出时,要工按键退出。
var input string
fmt.Scanln(&input)
fmt.Println("done") }
Result:
$ go run example.go
direct : 0
direct : 1
direct : 2
goroutine : 0
sk : 0
sk : 1
sk : 2
goroutine : 1
goroutine : 2
从结果可以看出,direct是阻塞输出。goroutine和sk是异步交替输出。
最新文章
- php静态缓存简单制作
- 《Qt Quick 4小时入门》学习笔记3
- ae arcgis engine 关于面转线的方法和注意事项
- js总结-面向对象编程,DOM,BOM
- 技术文档--volley 框架
- [ZZ] C++ pair
- PHP开发框架[流行度排名]
- HTML5 JS API 本地存储LocalStorage基本操作
- MVVM模式应用 之xml文件的读取
- searchbar的使用介绍
- shell脚本定义输出字符颜色
- oracle增加表空间大小
- HOG feature
- win 停止tomcat
- WPF 中 TextBlock 文本换行与行间距
- [NL系列] RNN &; LSTM 网络结构及应用
- #优化:Nginx防御DDOS和CC攻击
- AsmTools
- java的时间
- LeNet 分类 FashionMNIST