Size: a a a

2020 December 11

ДД

Дмитрий Даржаин... in Go-go!
Ребят, подскажите пожалуйста, есть ли порядок чтения из канала? допустим есть один общий канал на чтение у нескольких горутин, и все они залочились на чтении, то чтение будет происходить (после появления в канале значения) в том порядке, в котором они залочились ( <- ch), или поведение неопределено?
источник

p

pragus in Go-go!
Дмитрий Даржаин
Ребят, подскажите пожалуйста, есть ли порядок чтения из канала? допустим есть один общий канал на чтение у нескольких горутин, и все они залочились на чтении, то чтение будет происходить (после появления в канале значения) в том порядке, в котором они залочились ( <- ch), или поведение неопределено?
скорее всего как повезёт, потому что странно давать такие гарантии
источник

NL

Nikita L in Go-go!
Дмитрий Даржаин
Ребят, подскажите пожалуйста, есть ли порядок чтения из канала? допустим есть один общий канал на чтение у нескольких горутин, и все они залочились на чтении, то чтение будет происходить (после появления в канале значения) в том порядке, в котором они залочились ( <- ch), или поведение неопределено?
Неопределено. Зависит от того, какая горутина быстрее сработает
источник

RL

Ragnar Lodbrok in Go-go!
Разве? По-моему, как раз сработает та, которая первая залочится, потому  что горутины хранятся в канале очередью
источник

DP

Daniel Podolsky in Go-go!
Очередью?!

Там же просто mutex, и гарантий у мьютекса нет.
источник

DP

Daniel Podolsky in Go-go!
Дмитрий Даржаин
Ребят, подскажите пожалуйста, есть ли порядок чтения из канала? допустим есть один общий канал на чтение у нескольких горутин, и все они залочились на чтении, то чтение будет происходить (после появления в канале значения) в том порядке, в котором они залочились ( <- ch), или поведение неопределено?
А какая разница?
источник

ДД

Дмитрий Даржаин... in Go-go!
Daniel Podolsky
Очередью?!

Там же просто mutex, и гарантий у мьютекса нет.
Если глаза мне не врут, в структуре канала (в сорцах) есть не только мьютекс, но и списки ожидающих на чтении и на записи.
источник

ДД

Дмитрий Даржаин... in Go-go!
Daniel Podolsky
А какая разница?
Ищу определенность, от того есть ли порядок или нет, будет зависеть решение задачи
источник

C

Calculon🤖 in Go-go!
Дмитрий Даржаин
Ищу определенность, от того есть ли порядок или нет, будет зависеть решение задачи
Обеспечь определенность сам
источник

RL

Ragnar Lodbrok in Go-go!
Дмитрий Даржаин
Если глаза мне не врут, в структуре канала (в сорцах) есть не только мьютекс, но и списки ожидающих на чтении и на записи.
Да, я как раз о них и говорил.
https://golang.org/src/runtime/chan.go#L41
источник

p

pragus in Go-go!
Ragnar Lodbrok
Да, я как раз о них и говорил.
https://golang.org/src/runtime/chan.go#L41
Я бы посмотрел на методы enqueue/dequeue у waitq
источник

DP

Daniel Podolsky in Go-go!
Дмитрий Даржаин
Ищу определенность, от того есть ли порядок или нет, будет зависеть решение задачи
Скорее - нет, не будет.

Вы же не контролируете порядок, в котором горутины к каналу обращаются. А если контролируете - пофиг же, что там в канале, контроль уже у вас.
источник

p

pragus in Go-go!
Daniel Podolsky
Скорее - нет, не будет.

Вы же не контролируете порядок, в котором горутины к каналу обращаются. А если контролируете - пофиг же, что там в канале, контроль уже у вас.
Там кейс, что горутины спят на этом канале
источник

p

pragus in Go-go!
Но есть ещё select
источник

p

pragus in Go-go!
И он все портит
источник

DP

Daniel Podolsky in Go-go!
У нас они приходят в рандомном порядке  спать, так? Какая разница, в каком они уходят?
источник

ЕО

Евгений Омельченко... in Go-go!
Vladimir Eliseev
Ясно.
Но бывают случаи, когда файл, например вот так называется someServer.go
И хочется его назвать с верхнего регистра.
Он не должен так называться, filename convention -- snake_case. Иначе у вас тест сервера будет называться someServer_test.go, не находите это странным?
источник

S

Sergey in Go-go!
snake_case тоже не особо приветствуется, только для таких вот суффиксов, типа _test, _gen, _string, etc используется
источник

ЕО

Евгений Омельченко... in Go-go!
Sergey
snake_case тоже не особо приветствуется, только для таких вот суффиксов, типа _test, _gen, _string, etc используется
Соглашусь
источник

KS

Kirill Saltykov in Go-go!
А кто юзает какие GUI клиенты для Git на Linux?
Для Win/macOS юзал Fork, а вот сейчас не знаю что взять
источник