Middle+
Кӣ ҳастанд коргарон?
sobes.tech AI
Ҷавоб аз AI
Маслиҳати Golang, коргарон — ин goroutine ё шохаҳои иҷрои алоҳида мебошанд, ки вазифаҳоро дар параллел иҷро мекунанд. Одатан, коргарон дар намунаи "worker pool" — пуле аз коргарон, ки чанд goroutine вазифаҳоро аз навбатии умумӣ мегиранд ва иҷро мекунанд, истифода мешаванд, ки ин истифодаи самараноки захираҳоро ва назорати параллелизмро имкон медиҳад.
Маслиҳати оддии коргар дар Go:
func worker(id int, jobs <-chan int, results chan<- int) {
for j := range jobs {
fmt.Printf("Коргари %d дар коркарди вазифа %d\n", id, j)
results <- j * 2 // намунаи коркард
}
}
func main() {
jobs := make(chan int, 5)
results := make(chan int, 5)
for w := 1; w <= 3; w++ {
go worker(w, jobs, results)
}
for j := 1; j <= 5; j++ {
jobs <- j
}
close(jobs)
for a := 1; a <= 5; a++ {
<-results
}
}
Ба ин васила, коргарон имкон медиҳанд, ки вазифаҳоро дар параллел иҷро кунанд, истеҳсолнокиро зиёд кунанд ва борро идора кунанд.