Golang を使用して同時プログラミングを実装する: goroutine を作成する: go キーワードを使用して、軽量スレッドの goroutine を作成します。チャネルの使用: チャネルは、値を送受信できるゴルーチン間の通信のためのデータ構造です。実際のケース: 並列コンピューティング: 数値の合計を並列計算する goroutine 配列を作成し、コンピューティングのパフォーマンスを大幅に向上させます。
Golang では、ゴルーチンとチャネルを通じて同時実行性が実現されます。ゴルーチンは軽量のスレッドであり、チャネルはゴルーチン間の通信のためのメカニズムです。
go
キーワードを使用してゴルーチンを作成します。これにより、新しい goroutine が作成され、同時に関数が実行されます。
func main() { // 创建一个打印"Hello, world!"的goroutine go fmt.Println("Hello, world!") }
Channel はゴルーチン間の通信に使用されるデータ構造です。値を送受信できます。
// 创建一个发送字符串到通道的goroutine func send(ch chan string) { ch <- "Hello, channel!" } // 创建一个接收通道中字符串的goroutine func receive(ch chan string) { fmt.Println(<-ch) }
同時実行性を使用して、一連の数値の合計を並列で計算します。ゴルーチンの配列を作成し、各ゴルーチンは配列の一部の合計を計算します。
func main() { // 创建要计算和的数组 nums := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} // 创建goroutine通道 var ch = make(chan int) // 创建goroutine数组,每个goroutine负责计算数组一部分的和 for i := 0; i < len(nums); i++ { go func(i int) { sum := 0 for j := i; j < len(nums); j++ { sum += nums[j] } ch <- sum }(i) } // 从goroutine接收结果并求和 totalSum := 0 for i := 0; i < len(nums); i++ { totalSum += <-ch } fmt.Println("Total sum:", totalSum) }
同時実行性を使用すると、合計の計算パフォーマンスを大幅に向上させることができます。
以上がGolang 関数を使用した同時プログラミングを活用するためのヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。