Junior — Middle
Kādus paralēlo uzdevumu īstenošanas veidus jūs zināt?
sobes.tech AI
Atbilde no AI
Go valodā paralēlas uzdevumus var īstenot vairākos veidos:
-
Goroutines — vieglas pavedienes, kuras uzsāk ar atslēgvārdu
go. Tās ļauj funkcijas izpildīt paralēli. -
Kanāli — tiek izmantoti komunikācijai un sinhronizācijai starp goroutines, nodrošinot drošu datu pārsūtīšanu.
-
Darbinieku baseini — goroutine grupa, kas ņem uzdevumus no rindas un apstrādā tos, palīdzot kontrolēt vienlaicīgi darbojošo goroutine skaitu.
-
sync.WaitGroup — lai gaidītu, kamēr goroutine grupa pabeigs darbu.
Piemērs, kā palaist goroutine un nosūtīt datus caur kanālu:
ch := make(chan int)
// Goroutine uzsākšana
go func() {
ch <- 42 // vērtības nosūtīšana uz kanāla
}()
// Vērtības saņemšana no kanāla
val := <-ch
fmt.Println(val)