在很多的时候我们需要去学习线程或者线程池相关的知识,但是在Go+里面,我们不需要去学习,因为我们没有选择,我们直接使用Go+提供的协程即可。
语法我们使用Go+的协程也很方便,直接使用go这个关键字即可。
// 定义执行一个函数 func() // 开启一个协程执行这个函数 go func()使用
func testGoroutine() {
println "hello, go"
}
// 启动一个协程
go mytest()
println "hello, goroutine"
如果我们想要让其他协程先执行,阻塞当前协程,我们只需让他睡一下即可。
import (
"time"
)
func mytest() {
println "hello, go"
}
go mytest()
println "hello, goroutine"
time.sleep time.Second
并发执行
学习协程最重要的就是看到并发的效果,如果我们想要达到并发效果如何实现呢?
import (
"time"
)
func mygo(name string) {
for i := 0; i < 10; i++ {
printf "In goroutine %sn", name
time.sleep 10*time.Millisecond
}
}
go mygo("协程A") // 第一个协程
go mygo("协程B") // 第二个协程
time.sleep time.Second
从执行效果来看,已经是有并发的感觉了。



