что пока я залочу один, второй залочится в другой горутине и дедлок произойдет, т.к. обоим горутинам нужен лок на двух мьютексах
так что эти мьютексы делают
Лучше пересмотреть алгоритм и постараться свести к одному мьютексу. Но если игаче никак - тогда лочить всегда в однлм и том же прядке
Можно попробовать использовать что то типа try lock, чтобы избегать блокировок, если бизнес логику нельзя / дорого пересмотреть https://pkg.go.dev/github.com/lk4d4/trylock#section-readme
не слышал кстати про трай лок
это довольно распространенный, но не в го :)
а как тут trylock поможет?
Обсуждают сегодня