так как предполагалось? мьютекс останется залоченным?
В подходе Rust разблокировка мьютекса произойдёт при выходе MutexGuard-а из области видимости, причём вне зависимости от того, штатным образом или при раскрутке стека. Идея не нова, примерно такой же вариант мьютекса можно на C++ сделать.
> Поэтому лучше сделать крошечную функцию, которая сделает нужное изменение. И код будет чище.
И пихать её везде с defer-ом? Нет уж, спасибо.
> Если непонятно что защищатся мьютексом, то надо сделать структуру, в которой будет сама переменная и мьютекс. Так все будет очевидно.
В Rust защищаемая переменная и есть мьютекс. Куда уж проще?
хорошая картинка в споре rust vs go - https://i.imgur.com/wXdFFwi.jpg
Обсуждают сегодня