Middle
Таво фарқияти байни рақобат ва параллелизм чист?
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" рақобатнок иҷро мешаванд, бо гузаштан байни онҳо, ва агар дар протсессори бисёрядор иҷро шаванд, метавонанд параллелона иҷро шаванд.