ホームページ > バックエンド開発 > Golang > Go言語のgorouteコルーチン

Go言語のgorouteコルーチン

リリース: 2020-02-29 16:53:31
転載
3523 人が閲覧しました

Coroutine は Go 言語の軽量スレッド実装であり、Go ランタイムによって管理されます。次に、go 入門チュートリアル のコラムから、go 言語の goroute コルーチンを紹介します。

Go言語のgorouteコルーチン

ゴルート コルーチン

プロセスとスレッド

プロセスはシステム リソースです割り当てとスケジューリングの基本単位。スレッドは CPU のスケジューリングとディスパッチの基本単位です。プロセスは複数のスレッドを作成およびキャンセルできます

同時実行性と並列性

複数のスレッドプログラムは 1 つのコアを備えた CPU で実行され、同時実行されます。

マルチスレッド プログラムは、複数のコアを備えた CPU で実行され、並列実行されます。

コルーチンとスレッド

コルーチン: 独立したスタック スペース、共有ヒープ メモリ、ユーザーによって制御されるスケジューリング。基本的にユーザー レベルのスレッドと同様で、これらのユーザー レベルのスレッドのスケジューリングはそれ自体で実装されます。

スレッド: 1 つのスレッドで複数のコルーチンを実行できます。

単純な同時実行のケース。この 2 つのコルーチンは 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 中国語 Web サイトを参照してくださいgo 言語チュートリアルカラム 。

以上がGo言語のgorouteコルーチンの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート