Неге канал жана mutex менен код иштебейт (deadlockтин себеби эмне)?
Golang
Окуулар устаз менен, реплика менен же кандай бөлүштүрүлгөн?
Жүйе баягыша баштады — себепти кантип издейсің?
Бир нерсе сынган учурду жана эмне кылгандыгыңызды эстей аласызбы?
Kafkaда бөлүштүрүү үчүн ачкычтарды колдондуңузбу?
Горутини кайсы тартипте ишке ашырылат жана эмнеге?
Инициатива сунуштап, аны коргоо кылган учур жөнүндө айтып бер.
Колуңузда аскер билети барбы?
Кайсы иш форматын жактырасыз?
Жобада Kafka кардарын такыр киргизип, кандайча колдондуңуз?
Москвада жергиликтүү жайгашкансызбы?
// Коды түзөтүңүз func FixProblem() { var wg sync.WaitGroup ch := make(chan string, 5) mu := sync.Mutex{} for i := 0; i < 5; i++ { wg.Add(1) go func(ch<- string, i int, wg *sync.WaitGroup) { defer wg.Done() mu.Lock() defer mu.Unlock() msg := fmt.Sprintf("Goroutine %s", strconv.Itoa(i)) ch <- msg }(ch, i, &wg) } for { select { case q := <-ch: fmt.Println(q) } } wg.Wait() }
Поддорду жаңыртууда суранычтар жоголуп калса, кантип чечип бердиңиз?
Эштер дайым жакшы сүрөттөлгөн беле? Толук эмес сүрөттөмөдө кандай иш кылдыңыз?
негізгі пакет import "fmt" func main() { nums := make([]int, 1, 2) fmt.Println(nums) // appendSlice(nums, 1024) fmt.Println(nums) // mutateSlice(nums, 1, 512) fmt.Println(nums) // } func appendSlice(sl []int, val int) { sl = append(sl, val) } func mutateSlice(sl []int, idx, val int) { sl[idx] = val }
Картанын өсүшү менен эски жана жаңы ачкычтар менен эмне болот? Неге бардык нерсени бир эле учурда көчүрбөйбүз?
Kafka-топик ичинде бөлүмдөрдүн санын өзгөртүп көрдүңүзбү?