Sobes.tech

Кадари аз имконоти зерин эҳтимолан ба вуқӯъ мепайвандад вақте ки кӯшиш мекунед, ки шумораи хеле зиёди goroutines (масалан, даҳҳо ҳазор) бе назорати иловагӣ оғоз кунед? - Аслӣ мушкилот аз баста шудани mutex глобалӣ дар runtime пайдо мешавад, ки ба қатъ шудани пурраи иҷрои барнома оварда мерасонад - Плангардони Go goroutines-ро дар гурӯҳҳои хурд ба таври пайдарпай иҷро мекунад, бинобар ин афзоиши шумораи онҳо қариб таъсир ба истифодаи хотира надорад - Таҳкими оммавии goroutines метавонад ба истифодаи назаррас аз хотира ва хароҷоти иловагии плангардон оварда расонад; дар чунин ҳолатҳо, истифодаи пули коргарон мувофиқ аст - Агар шумораи goroutines аз шумораи процессорҳои логикӣ зиёд шавад, Go автоматӣ оғоз мекунад, ки оғозҳои навро бо паника рад кунад

Intern
AvitoAvito
85

// Максимал сандарды табамыз package main import "fmt" func main() { var max int for i := 1000; i > 0; i-- { go func() { if i%2 == 0 && i > max { max = i } }() } fmt.Printf("Максимум %d", max) } func maxEvent(n, workers int) int { var wg sync.WaitGroup results := make(chan int, workers) jobs := make(chan int, workers) for w := 0; w < workers; w++ { wg.Add(1) go func() { defer wg.Done() localMax := -1 for num := range jobs { if num%2 == 0 && num > localMax { localMax = num } } result <- localMax }() } go func() { for i := 1; i <= n; i++ { jobs <- i } close(jobs) }() go func() { wg.Wait() close(results) }() globalMax := -1 for localMax := range results { if localMax > globalMax { globalMax = localMax } } return globalMax }

Middle
WildberriesWildberries
85

// шумолҳои аз 1 то 10 func main() { done := make(chan struct{}, 10) for i:=1; i<=10; i++{ go func(){ defer func() {done<-struct{}{}}() printNumber(n) }() } for i:=1; i<=10; i++{ <-done } } func printNumber(n int) { time.Sleep(time.Second) fmt.Println(n) }

Middle+
МВидеоМВидео
85

مزایای و معایب pgx چیست؟

Middle+
МВидеоМВидео
85

Гурӯҳи истеъмолкунанда дар Kafka барои чӣ аст?

Senior
Lanit PPM
85

Дар бораи оптимизатсияи дархостҳо ба базаи додаҳо нақл кунед: чӣ гуна дархостҳои мушкилро ёфтед ва чӣ кардед?

Senior
А7
85

Чӣ тавр бо Postgres кор мекардед — пурсишҳо, индексҳо?

Senior
OZONOZON
85

Агар даъвати системӣ (syscall) боздошта шавад, чӣ мешавад?

Middle+
Servicepipi
85

Оё роҳи идора кардан ва танзим кардани ҷамъкунандаи партовҳои stop-the-world дар Go вуҷуд дорад?

Middle+
WildberriesWildberries
85

// таблица товаров: // ID | cnt_view // ----------- // 1 | 100 // два пользователя одновременно начали просматривать товар с id = 1 // и в нашей базе данных запущены 2 параллельные транзакции // какой будет результат? postgresql func IncrementView(ctx context.Context, db *sql.DB, id int64) error { tx, err := db.BeginTx(ctx, nil) if err != nil { return err } defer tx.Rollback() var cnt int err = tx.QueryRowContext(ctx, "SELECT cnt_view FROM goods WHERE id = $1", id, ).Scan(&cnt) if err != nil { return err } cnt++ _, err = tx.ExecContext(ctx, "UPDATE goods SET cnt_view = $1 WHERE id = $2", cnt, id, ) if err != nil { return err } return tx.Commit() }

Middle+
Lenta Tech
85

Чӣ туро ҳавасманд мекунад, чаро дӯст медорӣ ҳамчун барномасоз кор кардан?

Senior
МВидеоМВидео
85

Кадом линтерҳоро дар Go истифода мебарӣ ва дар куҷо онҳоро иҷро мекунӣ?

Junior
СБК ПАРУС
85

Аз ази суоли/вазифаи мусоҳиба аз ин тасвири экранӣ бароред. Забонро дар асл нигоҳ доред.

Senior
Pasul LTD
85

Чаро дар дарозии сатр дар UTF-8 нозанинҳо пайдо мешаванд?

Middle+
Napoleon IT
85

Таърихи кори бо брокерҳои паёмҳо (Kafka, NATS)-ро нақл кунед.

Middle
АО Медиа Эффект
85

Дана сатр S, лозим аст ҳисоб кунед, ки чӣ қадар зерсатрҳо дар ин сатр мавҷуданд, ки ҳадди ақал як маротиба ҳамаи аломатҳоро дар ин сатр дар бар мегиранд. Масалан: "abca" -> 3 // abc, bca, abca "aa" -> 3 // aa, a, a, "ffg" -> 2 // ffg, fg

Senior
Яндекс
85

Оё омодаед ба кӯчидан ба Елабуга?

Senior
Алабуга
85

Оё медонӣ, ки транзаксия чист ва хусусиятҳои он (ACID) кадомҳоянд?

Senior
МВидеоМВидео
85

Афзалиятҳои goroutines дар муқоиса бо сӯрохиҳои OS чист?

Middle+
101ХР101ХР
85

Оё таҷрибаи профилировкаи хизматҳоро доред?

Middle
WildberriesWildberries
85
/412