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
}