Sobes.tech
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.