Sobes.tech
Junior — Middle

Môžete vysvetliť, čo znamená pojem 'tok' v operačných systémoch podobných Unixu?

sobes.tech AI

Odpoveď od AI

V unixoidných operačných systémoch označuje pojem "vlákno" (thread) najmenšiu jednotku vykonávania v rámci procesu. Vlákna v rámci toho istého procesu zdieľajú pamäť a zdroje, čo umožňuje efektívne paralelné vykonávanie úloh. Napríklad, jeden proces môže obsahovať viac vlákien, ktoré súčasne spracovávajú rôzne časti dát, čím zlepšujú výkon a odozvu aplikácie.

Príklad v Go, kde sa vytvára viac vlákien (goroutines):

package main
import (
    "fmt"
    "time"
)
func worker(id int) {
    fmt.Printf("Pracovník %d začal\n", id)
    time.Sleep(time.Second)
    fmt.Printf("Pracovník %d skončil\n", id)
}
func main() {
    for i := 1; i <= 3; i++ {
        go worker(i) // spustenie gorutiny
    }
    time.Sleep(2 * time.Second) // čaká na dokončenie gorútin
}