Sobes.tech
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" тапшырмалары конкуренциялык түрдө ишке ашырылат, бири-бирине алмашып, жана эгер көп ядролуу процессордо иштетилсе, алар параллелдүү иштей алышат.