gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網
最全最豐富的資訊網站

golang有進程嗎

golang有進程。進程就是程序在操作系統中的一次執行過程,是由系統進行資源分配和調度的基本單位;進程是一個動態概念,是程序在執行過程中分配和管理資源的基本單位,每一個進程都有一個自己的地址空間。go語言支持多進程,它線程模型是MPG模型,整體上Go程與內核線程是多對多對應的。

golang有進程嗎

本教程操作環境:windows7系統、GO 1.18版本、Dell G3電腦。

一、關于進程和線程

1. 進程(Process)

進程就是程序在操作系統中的一次執行過程,是由系統進行資源分配和調度的基本單位,進程是一個動態概念,是程序在執行過程中分配和管理資源的基本單位,每一個進程都有一個自己的地址空間。一個進程至少有5種基本狀態:初始態、執行態、等待狀態、就緒狀態、終止狀態。

通俗講:進程就是一個正在執行的程序。

2. 線程

線程是進程的一個執行實例,是程序執行的最小單元,它是比進程更小的能獨立運行的基本單位。

通俗講:一個進程可以創建多個線程,同一個進程中的多個線程可以并發執行,一個程序要運行的話至少有一個進程。

golang有進程嗎

golang有進程嗎

二、關于并發和并行

1. 并發

多個線程同時競爭一個位置,競爭到的才可以執行,每一個時間段只有一個線程在執行。

golang有進程嗎

2. 并行

多個線程可以同時執行,每一個時間段,可以有多個線程同時執行。

golang有進程嗎

3. 通俗講

多線程程序在單核cpu上運行就是并發,在多核cpu上運行就是并行。如果線程數大于cpu核數,則多線程程序在多個cpu上既有并發也有并行。

三、goroutine協程以及主線程

1. 主線程

可以理解為線程或進程,在一個golang程序的主線程上可以啟用多個協程。golang中多協程可以實現并發或者并行。

2. 協程

可以理解為用戶級別的線程,這是對內核透明的,也就是系統并不知道有協程的存在,是完全由用戶自己的程序進行調度的。golang的一大特色就是從語言方面原生支持協程,在函數或方法前面加一個go關鍵詞就可以創建一個協程??梢哉fgolang中的協程就是goroutine。

golang有進程嗎

Golang 中的多協程有點類似其他語言中的多線程。

3. 多協程和多線程

Golang 中每個 goroutine (協程) 默認占用內存遠比 Java 、C 的線程少。 OS 線程(操作系統線程)一般都有固定的棧內存(通常為 2MB 左右),一個 goroutine (協程) 占用內存非常小,只有 2KB 左右,多協程 goroutine 切換調度開銷方面遠比線程要少。 這也是為什么越來越多的大公司使用 Golang 的原因之一。

四、go關鍵詞實操

1. 順序執行

package main  import "fmt"  func test() { 	for i := 0; i < 5; i++ { 		fmt.Println("test執行", i) 	} }  func main() {     // 正常順序執行 	test() 	for i := 0; i < 5; i++ { 		fmt.Println("main執行", i) 	} 	/* 		test執行 0 		test執行 1 		test執行 2 		test執行 3 		test執行 4 		main執行 0 		main執行 1 		main執行 2 		main執行 3 		main執行 4 	*/ }
登錄后復制

2. 加入go

package main  import "fmt"  func test() { 	for i := 0; i < 5; i++ { 		fmt.Println("test執行", i) 	} }  func main() {     // 加入goroutine后 	go test() 	for i := 0; i < 5; i++ { 		fmt.Println("main執行", i) 	} 	/* 		main執行 0 		main執行 1 		main執行 2 		main執行 3 		main執行 4 		主線程執行完畢后,并沒有等待協程的執行 	*/ }
登錄后復制

3. 加入時間

package main  import (     "fmt"     "time" )  // 加入時間 func test1() { 	for i := 0; i < 5; i++ { 		fmt.Println("test執行", i) 		time.Sleep(time.Millisecond * 100) 	} }  func main() {     // 加入sleep之后再執行 	go test1() 	for i := 0; i < 5; i++ { 		fmt.Println("main執行", i) 		time.Sleep(time.Millisecond * 100) 	} 	/* 		main執行 0 		test執行 0 		test執行 1 		main執行 1 		main執行 2 		test執行 2 		main執行 3 		test執行 3 		test執行 4 		main執行 4 		加入相同的睡眠時間后,執行的順序不一定,但少量數據來看均會執行完畢 	*/ }
登錄后復制

4. 主線程執行快的情況

package main  import (     "fmt"     "time" )  func test1() { 	for i := 0; i < 5; i++ { 		fmt.Println("test執行", i) 		time.Sleep(time.Millisecond * 100) 	} }  func main() {     // 如果主線程執行的快會出現什么情況? 	go test1() 	for i := 0; i < 5; i++ { 		fmt.Println("main執行", i) 		time.Sleep(time.Millisecond * 20) 	} 	/* 		main執行 0 		test執行 0 		main執行 1 		main執行 2 		main執行 3 		main執行 4 		test執行 1 		那么他將不會等待協程執行,就會退出執行。 	*/ }
登錄后復制

5. sync.WaitGroup解決不等待

package main  import (     "fmt"     "time"     "sync" )  var wg sync.WiatGroup  func test2() { 	for i := 0; i < 5; i++ { 		fmt.Println("test執行", i) 		time.Sleep(time.Millisecond * 100) 	} 	wg.Done() }  func main() {     // sync.WaitGroup 完美解決,以后在項目中也會經常使用 	wg.Add(1) 	go test2() 	for i := 0; i < 5; i++ { 		fmt.Println("main執行", i) 		time.Sleep(time.Millisecond * 20) 	} 	wg.Wait() 	/* 		main執行 0 		test執行 0 		main執行 1 		main執行 2 		main執行 3 		main執行 4 		test執行 1 		test執行 2 		test執行 3 		test執行 4 		這樣就可以解決主線程執行完畢后,不等待等待協程執行完畢就退出的問題。 	*/ }
登錄后復制

6. 多協程并發并行執行

package main  import (     "fmt"     "time"     "sync" )  func hello(num int) { 	defer wg.Done() 	for i := 0; i < 5; i++ { 		fmt.Printf("第%v個協程執行--%vn", num, i) 	}  }  func main() {     // 多協程并發執行 	for i := 0; i < 3; i++ { 		wg.Add(1) 		go hello(i) 	} 	wg.Wait() 	/* 		第2個協程執行--0 		第2個協程執行--1 		第2個協程執行--2 		第2個協程執行--3 		第2個協程執行--4 		第0個協程執行--0 		第0個協程執行--1 		第0個協程執行--2 		第0個協程執行--3 		第0個協程執行--4 		第1個協程執行--0 		第1個協程執行--1 		第1個協程執行--2 		第1個協程執行--3 		第1個協程執行--4 	*/ }
登錄后復制

五、設置golang運行時占用的cpu核數量(不是很重要)

package main  import (     "fmt"     "runtime" )  func main() {     // 設置程序占用幾個cpu進行執行,默認是全部 	// 獲取計算機cpu個數 	cpuNum := runtime.NumCPU() 	fmt.Println(cpuNum) // 6 我本機電腦是6核cpu  	// 設置占用cpu個數 	runtime.GOMAXPROCS(2) 	fmt.Println("ok") }
登錄后復制

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
亚洲欧美日韩三级| 青青草综合视频| 国内外成人免费激情视频| 青青在线视频免费观看| 四虎精品欧美一区二区免费| 日韩精品第1页| 成人网站免费观看入口| 国产白丝袜美女久久久久| 日韩精品一区二区三区久久| 波多野结衣作品集| 午夜视频在线网站| 在线免费黄色小视频| 狠狠干视频网站| www黄色av| 在线黄色免费观看| 狠狠干视频网站| 熟妇人妻va精品中文字幕| 在线观看国产一级片| 99热这里只有精品7| 女人色极品影院| 免费看一级大黄情大片| 午夜久久久精品| 日本福利视频在线观看| 日本在线视频www| 伊人五月天婷婷| 亚洲熟妇无码另类久久久| 国产又猛又黄的视频| 无码人妻aⅴ一区二区三区日本| 无码av天堂一区二区三区| 91极品尤物在线播放国产| 日本国产中文字幕| 亚洲欧美激情网| av免费观看大全| 国内精品国产三级国产aⅴ久| 青青草国产精品视频| 亚洲第一天堂久久| 丰满人妻中伦妇伦精品app| 99亚洲精品视频| 我看黄色一级片| 国产最新免费视频| 欧美黑人在线观看| 国产5g成人5g天天爽| 免费看国产黄色片| 国产欧美在线一区| 极品粉嫩国产18尤物| 国产精品无码乱伦| 在线观看免费的av| 日韩视频在线免费看| 成年人网站免费视频| 国产性生活免费视频| 在线a免费观看| 中文字幕国产高清| 国产成人美女视频| 性欧美极品xxxx欧美一区二区| 国产精品专区在线| av在线播放亚洲| 一卡二卡三卡视频| 超碰成人免费在线| 黄色一级视频在线播放| 亚洲国产精品成人天堂| 成年丰满熟妇午夜免费视频 | 国产又粗又猛又爽又黄的网站| 一区二区三区四区毛片| 日本中文字幕观看| 国产成人美女视频| 国产91av视频在线观看| 色偷偷中文字幕| 女女百合国产免费网站| 热久久最新地址| 人妻夜夜添夜夜无码av| 国产精品后入内射日本在线观看| 欧美s码亚洲码精品m码| 一级在线免费视频| 午夜视频在线观| 国产小视频免费| 免费看一级大黄情大片| 午夜免费精品视频| www.污网站| av网站手机在线观看| 欧美日韩在线中文| 亚洲午夜精品一区| 免费日韩在线观看| 男人天堂999| 亚洲av无日韩毛片久久| 日本一级黄视频| 日日碰狠狠躁久久躁婷婷| 911福利视频| 一本久道高清无码视频| 亚洲成人av免费看| 特级西西444| youjizzxxxx18| 超薄肉色丝袜足j调教99| 欧美日韩亚洲第一| 精品国产乱码久久久久久1区二区| 国产xxxx振车| 日韩成人精品视频在线观看| 成人短视频在线观看免费| 国产高清视频网站| 国产日韩亚洲欧美在线| 国产一区二区在线免费播放| 91香蕉视频网址| 久久久国产欧美| 久久久久久久久久网| 欧美日韩在线免费观看视频| 男人添女人下面高潮视频| 国产av不卡一区二区| 三年中国国语在线播放免费| 男人插女人视频在线观看| 天天影视色综合| 北条麻妃在线一区| 你懂的av在线| www.好吊操| 亚洲第一精品区| 欧美一级视频在线| 日本激情视频在线播放| 精品www久久久久奶水| 日本a视频在线观看| 国产av熟女一区二区三区| 欧美日韩一级在线| 亚洲欧美一区二区三区不卡| 亚洲国产日韩欧美在线观看| 任你操这里只有精品| 国产日产欧美视频| 欧美女人性生活视频| 熟女性饥渴一区二区三区| 秋霞无码一区二区| 黄色免费福利视频| 欧美视频第一区| 久久精品免费一区二区| 一本大道熟女人妻中文字幕在线| 可以看毛片的网址| 久久精品视频16| 免费无码不卡视频在线观看| 97国产精东麻豆人妻电影| 黄www在线观看| 日韩毛片在线免费看| 久久久久国产精品熟女影院| 一区二区三区国产免费| 国产视频手机在线播放| 亚洲高清在线不卡| 国产91porn| 欧美二区在线视频| 992kp快乐看片永久免费网址| 污污网站免费看| 日本三级中文字幕在线观看| 日韩免费在线观看av| 欧美激情国产精品日韩| 国产成人美女视频| 成年人视频网站免费| 日本精品一区在线观看| 17c国产在线| 欧美一级免费播放| 国产又猛又黄的视频| 男人草女人视频| 少妇性饥渴无码a区免费| 日本高清免费观看| 欧美综合在线播放| 91欧美一区二区三区| 欧美久久久久久久久久久久久| 爆乳熟妇一区二区三区霸乳| 天天操精品视频| aⅴ在线免费观看| 艳母动漫在线免费观看| 日韩亚洲在线视频| 欧美中文字幕在线观看视频| 久久久久免费精品| 久草视频这里只有精品| 向日葵污视频在线观看| 欧美深夜福利视频| 国产成人精品免费看在线播放 | 国产a级片免费观看| 国产美女视频免费| 三级a三级三级三级a十八发禁止| 欧美日韩dvd| 日韩高清在线一区二区| 99热手机在线| 1024精品视频| 大陆av在线播放| 欧美性猛交内射兽交老熟妇| 亚洲精品免费一区亚洲精品免费精品一区 | av一区二区三区免费观看| 午夜精品久久久久久久99热影院| 欧美 日韩 国产 高清| 国产片侵犯亲女视频播放| 性做爰过程免费播放| 男生操女生视频在线观看| 国产主播中文字幕| 黄色片视频在线播放| 欧美韩国日本在线| 国产第一页视频| 男人透女人免费视频| 激情六月丁香婷婷| 精品人妻一区二区三区四区在线 | 久久久久久久久久久福利| 91免费国产精品| 日韩a级黄色片| 你真棒插曲来救救我在线观看| 日韩精品在线观看av| 成人在线视频一区二区三区| 久久亚洲a v|