Go語言輕量級線程Goroutine用法實例
更新時間:2015年02月26日 11:26:27 作者:不是JS
這篇文章主要介紹了Go語言輕量級線程Goroutine用法,實例分析了goroutine使用技巧,需要的朋友可以參考下
本文實例講述了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")
}
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語言程序設計有所幫助。
相關(guān)文章
go?tool?pprof?參數(shù)?'-base'?和?'-diff_base&
這篇文章主要介紹了go?tool?pprof?參數(shù)?'-base'?和?'-diff_base'之間的區(qū)別,兩個參數(shù)都是用于計算當前?profile文件減去基準profile文件所獲得的差值,用這個差值生成一個新的profile文件,本文給大家介紹的非常詳細,需要的朋友可以參考下2023-05-05

