首頁 > 後端開發 > Golang > go語言之goroute協程

go語言之goroute協程

發布: 2020-02-29 16:53:31
轉載
3503 人瀏覽過

協程(coroutine)是Go語言中的輕量級線程實現,由Go運行時(runtime)管理。以下就來由go入門教學專欄介紹一下go語言中的goroute協程。

go語言之goroute協程

goroute協程

#行程與執行緒

##行程是系統進行資源分配和調度的基本單位,線程是cpu調度和發派的基本單位,一個進程可以創建和撤銷多個線程

##並發和並行

多線程程式在一個核的cpu上面運行,是並行

多執行緒程式在多個核的cpu上面運行,這是並行

協程和執行緒

協程: 獨立的堆疊空間,共享的堆內存,調度由用戶自己控制,本質上有點類似於用戶級的線程,這些用戶級線程的調度是自己來實現的。

執行緒:一個執行緒可以跑多個協程。

一個簡單的並發案例這塊兩個協程會打印出hello和world

package main

import(
	"fmt"
	"time"
)
func test(){

	for{
		fmt.Println("hello")
		time.Sleep(time.Second)
	}
	
}

func main(){
	go test()
	for{
		fmt.Println("world")
		time.Sleep(time.Second)
	}
}
登入後複製

更多go語言知識請關注php中文網

go語言教程

欄目。

以上是go語言之goroute協程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:csdn.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板