Sobes.tech
Junior — Middle

Төрттүрдүү жиптер бир убакта бир эле эс тутуму дарегине иштеше алабы?

sobes.tech AI

AIден жооп

Ооба, Goда ар башка горутиналар (жиптер) бир убакта бирдей эс тутум дарегине кайрыла алат. Бирок, эгер жетүү синхрондоштурулбаса, бул жарыш шарттарына (race conditions) алып келиши мүмкүн. Жалпы эс тутум менен коопсуз иштешүү үчүн синхрондоштуруу механизмдери колдонулат, мисалы, mutexтер (sync.Mutex), каналдар (chan) же sync/atomic пакети аркылуу атомдук операциялар.

Жалпы өзгөрмөгө кирүүнү коргоо үчүн mutex колдонуу мисалы:

var mu sync.Mutex
var counter int

func increment() {
    mu.Lock()
    counter++
    mu.Unlock()
}

Мындай чараларсыз, бир убакта кирүү программада күтүлбөгөн жүрүм-турумга алып келиши мүмкүн.