ホームページ >バックエンド開発 >Golang >Golang パイプライン スレッドは安全ですか?

Golang パイプライン スレッドは安全ですか?

(*-*)浩
(*-*)浩オリジナル
2019-12-30 14:48:505979ブラウズ

Golang パイプライン スレッドは安全ですか?

スレッド セーフが複数の goroutine が同時に読み書きできるように定義されている場合、golang のチャネルはスレッド セーフです。同じチャネルを同時に読み書きするときにロックする必要はありません。

## golang

#のチャネルのチャネルチャネルを使用して共有グローバル変数を使用しない場合は、ロックする必要があります

// synchornized 同步
// golang中的 sync包中有互斥锁 
var lock sync.Mutex  // mutex 互斥
lock.Lock() // 上锁
// 多个goroutine同时对相同的数据进行修改
lock.Unlock() // 解锁
同期ロックの同時使用効率は非常に低くなります

channel main goroutine 通信に使用され、終了する前に goroutine の実行の終了を待機するメインスレッドの問題を解決します

チャネルの基本概念

本質的にはFIFOデータ構造キューです

スレッド安全性、ロック不要チャネルには文字列などの型がありますチャンネル chan 文字列。文字列データのみを保存できます。

以上がGolang パイプライン スレッドは安全ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。