Size: a a a

2020 May 23

C

Calculon in Go-go!
в таком случае буфер это кол-во звонков которые колл центр может держать параллельно
источник

C

Calculon in Go-go!
хотяя
источник

C

Calculon in Go-go!
хз это как то сложно
источник

ЛА

Локоть Анатолий... in Go-go!
Зачем эти параллели? В один прекрасный момент параллель не сойдётся с реальностью, а в голове будет старая ассоциация...
Так, люди из других языков проповедуют нереальные вещи на основе своего прошлого опыта, потому что когда-то себе выстроили систему ассоциаций, хотя даже базовые вещи такие как массив и хешмапа работают очень по-разному.
По топику датарейса с счётчиком наиболее оптимальным был бы atomic, вообще схем работы при датарейсе много и каналы, например тут довольно много кода требуют
источник

C

Calculon in Go-go!
Локоть Анатолий
Зачем эти параллели? В один прекрасный момент параллель не сойдётся с реальностью, а в голове будет старая ассоциация...
Так, люди из других языков проповедуют нереальные вещи на основе своего прошлого опыта, потому что когда-то себе выстроили систему ассоциаций, хотя даже базовые вещи такие как массив и хешмапа работают очень по-разному.
По топику датарейса с счётчиком наиболее оптимальным был бы atomic, вообще схем работы при датарейсе много и каналы, например тут довольно много кода требуют
Так мы вроде вообще не про датарейсы говорили
источник

p

pragus in Go-go!
Roman Sharkov
share memory by communicating 🙂
Только ошибок столько же как с мьютексами ))
источник

p

pragus in Go-go!
Roman Sharkov
ну а когда много писателей просто много клиентов (writing goroutine), которые обращаются по одному номеру (channel) группе работников call-center’а (reading goroutines)
Лучше всё-таки не забивать голову аналогиями и описывать в модели producer-consumer:

spsc, spmc, mpmc, mpsc
источник

p

pragus in Go-go!
Локоть Анатолий
Зачем эти параллели? В один прекрасный момент параллель не сойдётся с реальностью, а в голове будет старая ассоциация...
Так, люди из других языков проповедуют нереальные вещи на основе своего прошлого опыта, потому что когда-то себе выстроили систему ассоциаций, хотя даже базовые вещи такие как массив и хешмапа работают очень по-разному.
По топику датарейса с счётчиком наиболее оптимальным был бы atomic, вообще схем работы при датарейсе много и каналы, например тут довольно много кода требуют
+много
источник

SK

Sergey Krivosheev in Go-go!
pragus
Пример чего именно?
Я так понимаю локер и cond используете для решения проблемы доступа к одному каналу с разных горутин. Т.е. две функции читают с одного канала данные, но надо чтобы они это делали по очереди. Т.е. первая выбрала 5 и только после этого вторая должна приступать к выборке из канала

Или я не правильно понял, когда это использовать
источник

DP

Daniel Podolsky in Go-go!
неправильно
источник

p

pragus in Go-go!
Sergey Krivosheev
Я так понимаю локер и cond используете для решения проблемы доступа к одному каналу с разных горутин. Т.е. две функции читают с одного канала данные, но надо чтобы они это делали по очереди. Т.е. первая выбрала 5 и только после этого вторая должна приступать к выборке из канала

Или я не правильно понял, когда это использовать
Нет
источник

DP

Daniel Podolsky in Go-go!
локер - это такой мьютекс, на котором встают на паузу горутины, и потом можно их все разом отпустить
источник

SK

Sergey Krivosheev in Go-go!
Простой кейс можно? Когда это надо
источник

SK

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

DP

Daniel Podolsky in Go-go!
я, честно сказать, затрудняюсь придумать реальную ситуацию, в котрой это было бы нужно

разве что, действительно, бродкаст сообщений для пула горутин
источник

DP

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

DP

Daniel Podolsky in Go-go!
но пабсаб мне будет проще сделать на каналах - по каналу на консьюмера, и пропихивать в каждый
источник

p

pragus in Go-go!
Sergey Krivosheev
Я так понимаю локер и cond используете для решения проблемы доступа к одному каналу с разных горутин. Т.е. две функции читают с одного канала данные, но надо чтобы они это делали по очереди. Т.е. первая выбрала 5 и только после этого вторая должна приступать к выборке из канала

Или я не правильно понял, когда это использовать
Имхо, использовать канал с мьютексом - прямой путь к дедлоку.
источник

DP

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

p

pragus in Go-go!
Sergey Krivosheev
Это же примерно как поставить на паузу чтением с канала. Пока данных нет, рутина ждёт
У вас 1 писатель и толпа читателей. И сообщение от писателя надо доставить всем читателям
источник