Конкуренция менен параллелдиктин айырмасы эмнеде?
sobes.tech AI
AIден жооп
Реконкуренттүүлүк — бул системанын бир нече тапшырмаларды башкаруу жөндөмдүүлүгү, алар жарым-жартылай бир убакта ишке ашырылышы мүмкүн, алардын арасына которулуп. Параллелдик — бул бул тапшырмаларды бир убакта иштетүү.
Жөнөкөй айтканда, реконкуренттүүлүк — бул ишти уюштуруу жөнүндө, анткени бир нече тапшырма прогресс жасай алат, ал эми параллелдик — бул бул тапшырмаларды бир убакта иштетүү.
Goда реконкуренттүүлүк горутиндер жана каналдар аркылуу жетишилет, ал эми параллелдик — бул бул горутиндер чын эле бир убакта ишке ашырылса, башка ядролордо.
Мисал реконкуренттүүлүк үчүн Goда:
package main
import (
"fmt"
"time"
)
func task(name string) {
for i := 0; i < 3; i++ {
fmt.Println(name, "кадам", i)
time.Sleep(100 * time.Millisecond)
}
}
func main() {
go task("A")
go task("B")
time.Sleep(500 * time.Millisecond)
}
Бул жерде, "A" жана "B" тапшырмалары конкуренциялык түрдө ишке ашырылат, бири-бирине алмашып, жана эгер көп ядролуу процессордо иштетилсе, алар параллелдүү иштей алышат.