Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menggunakan saluran MPMC untuk komunikasi yang cekap antara Goroutines dalam Go?
Menggunakan saluran MPMC dalam Go dengan cekap boleh melaksanakan komunikasi antara Goroutines Langkah utama adalah seperti berikut: Panggil fungsi make untuk mencipta saluran MPMC: ch := make(chan int, bufferSize), di mana int ialah jenis data saluran dan bufferSize. ialah kapasiti penampan. Gunakan nilai ch <- untuk menulis data ke saluran MPMC. Gunakan nilai := <-ch untuk membaca data daripada saluran MPMC. Dengan menggunakan saluran MPMC, berbilang Goroutine boleh menulis dan membaca data secara serentak, membolehkan komunikasi dan pemindahan data yang cekap.
Saluran berbilang pengeluar berbilang pengguna (MPMC) ialah jenis saluran Go khas yang membolehkan berbilang Goroutine menulis dan membaca data secara serentak. Ini menjadikannya alat yang berguna untuk komunikasi yang cekap antara Goroutines.
Untuk mencipta saluran MPMC, anda boleh menggunakan fungsi make
terbina dalam: make
函数:
ch := make(chan int, bufferSize)
其中:
ch
是通道变量。int
是通道传递的数据类型。bufferSize
是通道的缓冲容量。写入 MPMC 通道非常简单:
ch <- value
其中 value
是要写入通道的数据。
从 MPMC 通道读取也很简单:
value := <-ch
其中 value
package main import ( "fmt" "sync" ) func main() { const bufferSize = 10 ch := make(chan int, bufferSize) var wg sync.WaitGroup wg.Add(2) // 生产者 Goroutine go func() { defer wg.Done() for i := 0; i < 100; i++ { ch <- i } close(ch) }() // 消费者 Goroutine go func() { defer wg.Done() for value := range ch { fmt.Println(value) } }() wg.Wait() }di mana:
ch
ialah pembolehubah saluran. int
ialah jenis data yang diluluskan oleh saluran. bufferSize
ialah kapasiti penampan saluran. rrreee
di manaAtas ialah kandungan terperinci Bagaimana untuk menggunakan saluran MPMC untuk komunikasi yang cekap antara Goroutines dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!