本文實(shí)例講述了Go語(yǔ)言輕量級(jí)線程Goroutine用法。分享給大家供大家參考。具體如下:
goroutine 是由 Go 運(yùn)行時(shí)環(huán)境管理的輕量級(jí)線程。
go f(x, y, z)
開(kāi)啟一個(gè)新的 goroutine 執(zhí)行
f(x, y, z)
f,x,y 和 z 是當(dāng)前 goroutine 中定義的,但是在新的 goroutine 中運(yùn)行 f。
goroutine 在相同的地址空間中運(yùn)行,因此訪問(wèn)共享內(nèi)存必須進(jìn)行同步。 sync 提供了這種可能,不過(guò)在 Go 中并不經(jīng)常用到,因?yàn)橛衅渌霓k法。(以后的內(nèi)容中會(huì)涉及到。)
復(fù)制代碼 代碼如下:
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")
}
希望本文所述對(duì)大家的Go語(yǔ)言程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- Go語(yǔ)言并發(fā)模型的2種編程方案
- golang gin 框架 異步同步 goroutine 并發(fā)操作
- Golang 探索對(duì)Goroutine的控制方法(詳解)
- 關(guān)于Golang中for-loop與goroutine的問(wèn)題詳解
- go語(yǔ)言執(zhí)行等待直到后臺(tái)goroutine執(zhí)行完成實(shí)例分析
- go獲取協(xié)程(goroutine)號(hào)的實(shí)例
- 分析Go語(yǔ)言中CSP并發(fā)模型與Goroutine的基本使用