Cara menggunakan Goroutines untuk pengkomputeran selari dalam Go
Ikhtisar:
Bahasa Go ialah bahasa pengaturcaraan serentak yang menyokong pengkomputeran selari secara asli. Go menyediakan Goroutine dan Saluran untuk melaksanakan pengkomputeran selari. Artikel ini akan memperkenalkan cara menggunakan Goroutines untuk pengkomputeran selari dalam Go dan memberikan beberapa contoh kod.
Goroutine:
Goroutine ialah utas ringan dalam bahasa Go Ia boleh dibuat dan dimusnahkan semasa program berjalan, dan kos penciptaan, pemusnahan dan penukaran adalah sangat rendah. Dengan menggunakan Goroutines, kami boleh melaksanakan pengkomputeran selari yang cekap dalam program kami.
Langkah-langkah untuk menggunakan Goroutines untuk pengkomputeran selari adalah seperti berikut:
Contoh Kod:
package main import ( "fmt" "sync" ) func calculate(num int, wg *sync.WaitGroup) { defer wg.Done() result := num * 2 fmt.Println(result) } func main() { var wg sync.WaitGroup for i := 1; i <= 10; i++ { wg.Add(1) go calculate(i, &wg) } wg.Wait() }
Dalam contoh di atas, kami telah mencipta fungsi yang dipanggil kira yang mengambil integer dan mencetaknya dengan mendarabkannya dengan 2. Dalam fungsi utama, kami mencipta 10 Goroutine menggunakan gelung dan lulus setiap nombor sebagai parameter kepada fungsi pengiraan. Kami menggunakan WaitGroup dalam pakej penyegerakan untuk memastikan semua Goroutines dilaksanakan.
Contoh kod:
package main import ( "fmt" "sync" ) func calculate(num int, wg *sync.WaitGroup, result chan<- int) { defer wg.Done() result <- num * 2 } func main() { var wg sync.WaitGroup result := make(chan int) for i := 1; i <= 10; i++ { wg.Add(1) go calculate(i, &wg, result) } go func() { wg.Wait() close(result) }() for res := range result { fmt.Println(res) } }
Dalam contoh di atas, kami menghantar hasil fungsi kira melalui Saluran hasil. Dalam fungsi utama, kami menggunakan fungsi tanpa nama untuk menunggu semua Goroutine selesai melaksanakan dan menutup Saluran hasil. Akhir sekali, kami menerima keputusan dalam Saluran hasil dan mencetaknya dengan menggunakan julat dalam gelung untuk.
Ringkasan:
Dengan menggunakan Goroutine dan Saluran, kami boleh mencapai pengkomputeran selari yang cekap dalam bahasa Go. Goroutines boleh digunakan untuk mencipta dan memusnahkan tugas pengkomputeran serentak dengan mudah, dan Saluran boleh digunakan untuk memindahkan data dengan mudah. Dalam aplikasi praktikal, kita boleh mencipta bilangan Goroutine yang berbeza mengikut keperluan dan memilih model pengkomputeran selari yang sesuai berdasarkan ciri tugas pengkomputeran.
Di atas ialah pengenalan dan contoh kod tentang cara menggunakan Goroutines untuk pengkomputeran selari dalam Go. Saya harap artikel ini akan membantu anda memahami pengaturcaraan serentak dalam bahasa Go.
Atas ialah kandungan terperinci Cara menggunakan Goroutines untuk pengkomputeran selari dalam Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!