Size: a a a

2021 June 23

RS

Roman Sharkov in Go-go!
только про синхронизацию (mutex) не забывайте)
источник

DP

Daniel Podolsky in Go-go!
В смысле - не надо.

Пользуйтесь горутинами
источник

DP

Daniel Podolsky in Go-go!
Если по диапазонам в массиве не пересекаться - не нужен мутекс
источник

C

Calculon in Go-go!
и не append-ить
источник

S

Sooqa in Go-go!
Не нужно, если они не изменяют одинаковые ячейки. Обязательно мутексом надо синхронить?
источник

AB

Andrey Burov in Go-go!
если нужен chan просто для синхронизации, то делайте chan struct{} и пихайте туда struct{}{}
источник

AB

Andrey Burov in Go-go!
самое маленькое по памяти
источник

S

Sooqa in Go-go!
func main() {
 
  sooqa := []int{1,2,3,4,5}
 
 finishSignal := make (chan bool)
 
 count := len(sooqa) - 1
 for i := 0; i != count; i++ {
   go func () {
     sooqa[i] += 1
     finishSignal <- true
   } ()
 }
 
 for i := 0; i != count; i++ {
   <- finishSignal
 }
 fmt.Print(sooqa)
}
источник

S

Sooqa in Go-go!
допкстим такое
источник

S

Sooqa in Go-go!
подскажете почему не работает?
источник

с

сонная википедия... in Go-go!
это вам к WaitGroup
источник

с

сонная википедия... in Go-go!
когда нужно запустить воркеры и дождаться их выполнения
источник

S

Sooqa in Go-go!
я не заметил что там можно мутировать значения. это же можно делать да?
источник

с

сонная википедия... in Go-go!
там можно считать таски
источник

DP

Daniel Podolsky in Go-go!
к тому моменту, как горутины начнут работать, i будет уже count
источник

с

сонная википедия... in Go-go!
i, к слову, нужно копировать, а вы по ссылке захватываете в замыкании
источник

S

Sooqa in Go-go!
пример для демонстрации
источник

DP

Daniel Podolsky in Go-go!
не по ссылке, а замыканием. но эффект тот же
источник

S

Sooqa in Go-go!
ладно, это позже.

проблема в том что это не работает

ворк группой фиксится?
источник

AB

Andrey Burov in Go-go!
ссылку мочканули или мое сообщение не дошло?
источник