чтобы не ебаться каждый раз вручную с мьютексом? каждый раз делать rlock, потом если надо чё-то записать, то елевейтить лок до rw, потом релизить, потом отпускать rlock. если где-то ошибиться в этом, то дебагнуть это будет нереально. какие-то есть гуд практисы или библиотеки которые это сами менеджат?
Структуры — это поинтеры с оффсетами
А до Go какой язык был?
что там сложного? Для начала в функции в начале mutex.Lock() defer mutex.Unlock() и вся сложность... Это не самый быстрый вариант, но рабочий на 100 процентов
есть best practice — вызывать анлок в дефере очень советую делать две версии методов — приватный без мьютекса и с мьютексом, который просто оборачивает первый работайте с мьютексами как можно локальнее — в приделах одной функции, а лучше в пределах одного блока проблем с дебагом конкретно этого у меня лично не возникало
Обсуждают сегодня