Junior — Middle
Jak jest stosowany mechanizm goroutine w programowaniu i jaką pełni rolę?
sobes.tech AI
Odpowiedź od AI
Goroutines w Go to lekkie wątki, które pozwalają na wykonywanie funkcji równolegle bez dużego zużycia zasobów. Są zarządzane przez środowisko uruchomieniowe Go i tworzone za pomocą słowa kluczowego go.
Główną rolą goroutines jest upraszczanie programowania współbieżnego i równoległego, umożliwiając efektywne korzystanie z systemów wieloprocesorowych i unikanie blokowania głównego wątku.
Przykład użycia goroutine:
package main
import (
"fmt"
"time"
)
func sayHello() {
fmt.Println("Cześć z goroutine")
}
func main() {
go sayHello() // uruchamia funkcję w goroutine
time.Sleep(time.Second) // czeka, aż goroutine się wykona
fmt.Println("Funkcja główna zakończona")
}
W tym przykładzie sayHello jest wykonywana równolegle z główną funkcją main.