本文實例講述了Go語言輕量級線程Goroutine用法。分享給大家供大家參考。具體如下:
goroutine 是由 Go 運行時環(huán)境管理的輕量級線程。
go f(x, y, z)
開啟一個新的 goroutine 執(zhí)行
f(x, y, z)
f,x,y 和 z 是當前 goroutine 中定義的,但是在新的 goroutine 中運行 f。
goroutine 在相同的地址空間中運行,因此訪問共享內(nèi)存必須進行同步。 sync 提供了這種可能,不過在 Go 中并不經(jīng)常用到,因為有其他的辦法。(以后的內(nèi)容中會涉及到。)
復制代碼 代碼如下:
package main
import (
"fmt"
"runtime"
)
func say(s string) {
for i := 0; i 5; i++ {
runtime.Gosched()
fmt.Println(s)
}
}
func main() {
go say("world")
say("hello")
}
希望本文所述對大家的Go語言程序設計有所幫助。
您可能感興趣的文章:- Go語言并發(fā)模型的2種編程方案
- golang gin 框架 異步同步 goroutine 并發(fā)操作
- Golang 探索對Goroutine的控制方法(詳解)
- 關于Golang中for-loop與goroutine的問題詳解
- go語言執(zhí)行等待直到后臺goroutine執(zhí)行完成實例分析
- go獲取協(xié)程(goroutine)號的實例
- 分析Go語言中CSP并發(fā)模型與Goroutine的基本使用