Size: a a a

2020 March 30

SA

Sky Alex in Go-go!
От не могу нати.
источник

SA

Sky Alex in Go-go!
Для pgx
источник

SA

Sky Alex in Go-go!
А в доке для pgx нет описания.
источник

ВЩ

Владимир Щёголев in Go-go!
Привет. Я правильно понимаю, что sync.Mutex лочит все данные в области видимости? Предположим, что в программе есть 2 глобальные  map. Если я использую Lock(), то они обе заблокируются? А если хочу их лочить отдельно, то стоит использовать sync.Map? Когда выгоднее использовать sync.Mutex, а когда sync.Map? Заранее спасибо за ответы

P.S. Ситуация вымышлена, просто интересно. Вдруг что-то подобное встретится на практике
источник

E

Edgar in Go-go!
Владимир Щёголев
Привет. Я правильно понимаю, что sync.Mutex лочит все данные в области видимости? Предположим, что в программе есть 2 глобальные  map. Если я использую Lock(), то они обе заблокируются? А если хочу их лочить отдельно, то стоит использовать sync.Map? Когда выгоднее использовать sync.Mutex, а когда sync.Map? Заранее спасибо за ответы

P.S. Ситуация вымышлена, просто интересно. Вдруг что-то подобное встретится на практике
он лочит себя
источник

ВЩ

Владимир Щёголев in Go-go!
Просто везде написано как его использовать. А как он работает не могу толком найти. Если есть статьи/книги, где это хорошо описано, буду благодарен за ссыль
источник

АП

Андрей Привалов in Go-go!
Edgar
он лочит себя
точнее не скажешь
источник

DP

Daniel Podolsky in Go-go!
Владимир Щёголев
Просто везде написано как его использовать. А как он работает не могу толком найти. Если есть статьи/книги, где это хорошо описано, буду благодарен за ссыль
поглядите в сорцы, там все предельно ясно
источник

АП

Александр Попов in Go-go!
Владимир Щёголев
Привет. Я правильно понимаю, что sync.Mutex лочит все данные в области видимости? Предположим, что в программе есть 2 глобальные  map. Если я использую Lock(), то они обе заблокируются? А если хочу их лочить отдельно, то стоит использовать sync.Map? Когда выгоднее использовать sync.Mutex, а когда sync.Map? Заранее спасибо за ответы

P.S. Ситуация вымышлена, просто интересно. Вдруг что-то подобное встретится на практике
это не конструкция языка, никакой магии
источник

АП

Александр Попов in Go-go!
просто замораживает себя как уже выше писали
источник

АП

Александр Попов in Go-go!
если не ошибаюсь - использует атомик внутри
источник

а

а кто это in Go-go!
Александр Попов
если не ошибаюсь - использует атомик внутри
не ошибаешься
источник

A

Artem in Go-go!
Ребят сразу раз уж идёт разговор о го mod, есть вопрос

вот файл, я сделал тестовый мини-проект

https://github.com/AvramenkoArtem/test/blob/master/api/main.go

собственно когда я пытаюсь go build, или go run этот файл, мне пишет что package second undefined, проект сделан на go mod, все пути вроде указаны верно, пытался и так и сяк, но не могу запустить функцию из package second

package second :

https://github.com/AvramenkoArtem/test/blob/master/pkg/second/second.go
источник

DP

Daniel Podolsky in Go-go!
Artem
Ребят сразу раз уж идёт разговор о го mod, есть вопрос

вот файл, я сделал тестовый мини-проект

https://github.com/AvramenkoArtem/test/blob/master/api/main.go

собственно когда я пытаюсь go build, или go run этот файл, мне пишет что package second undefined, проект сделан на go mod, все пути вроде указаны верно, пытался и так и сяк, но не могу запустить функцию из package second

package second :

https://github.com/AvramenkoArtem/test/blob/master/pkg/second/second.go
gosu и Gosu
источник

A

Artem in Go-go!
по логике функцию я называю с маленькой, а вызываю с большой, когда обращаюсь к пакеджу, разве нет ?
источник

DP

Daniel Podolsky in Go-go!
нет
источник

DP

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

A

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

x

x-foby in Go-go!
Владимир Щёголев
Привет. Я правильно понимаю, что sync.Mutex лочит все данные в области видимости? Предположим, что в программе есть 2 глобальные  map. Если я использую Lock(), то они обе заблокируются? А если хочу их лочить отдельно, то стоит использовать sync.Map? Когда выгоднее использовать sync.Mutex, а когда sync.Map? Заранее спасибо за ответы

P.S. Ситуация вымышлена, просто интересно. Вдруг что-то подобное встретится на практике
Мьютекс лочит только себя.
Вот вы вызываете из двух горутин один и тот же метод, в котором в какой-то момент времени выполняется mx.Lock(). Вот та горутина, которая первая это сделала, пойдёт дальше по методу, а вторая будет в бесконечном цикле крутиться внутри mx.Lock() до тех пор пока первая не разблокирует мьютекс.

Ну а внутри там на атомиках, да, посмотрите сами. Там немного и понятно)
источник

A

Artem in Go-go!
Помогло. Если функция с большой и вызываю с большой - работает, если функция с маленькой и вызов с маленькой -не работает
источник