Go語言輕量級線程Goroutine用法實(shí)例
本文實(shí)例講述了Go語言輕量級線程Goroutine用法。分享給大家供大家參考。具體如下:
goroutine 是由 Go 運(yùn)行時(shí)環(huán)境管理的輕量級線程。
go f(x, y, z)
開啟一個(gè)新的 goroutine 執(zhí)行
f(x, y, z)
f,x,y 和 z 是當(dāng)前 goroutine 中定義的,但是在新的 goroutine 中運(yùn)行 f。
goroutine 在相同的地址空間中運(yùn)行,因此訪問共享內(nèi)存必須進(jìn)行同步。 sync 提供了這種可能,不過在 Go 中并不經(jīng)常用到,因?yàn)橛衅渌霓k法。(以后的內(nèi)容中會涉及到。)
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語言程序設(shè)計(jì)有所幫助。
相關(guān)文章
Golang實(shí)現(xiàn)四層負(fù)載均衡的示例代碼
做開發(fā)的同學(xué)應(yīng)該經(jīng)常聽到過負(fù)載均衡的概念,今天我們就來實(shí)現(xiàn)一個(gè)乞丐版的四層負(fù)載均衡,并用它對mysql進(jìn)行負(fù)載均衡測試,感興趣的可以了解一下2023-07-07go?tool?pprof?參數(shù)?'-base'?和?'-diff_base&
這篇文章主要介紹了go?tool?pprof?參數(shù)?'-base'?和?'-diff_base'之間的區(qū)別,兩個(gè)參數(shù)都是用于計(jì)算當(dāng)前?profile文件減去基準(zhǔn)profile文件所獲得的差值,用這個(gè)差值生成一個(gè)新的profile文件,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05從Context到go設(shè)計(jì)理念輕松上手教程
這篇文章主要為大家介紹了從Context到go設(shè)計(jì)理念輕松上手教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09