Я новичок в многопоточном программировании и не понимаю, как работает Mutex. В руководстве Boost :: Thread говорится:
Мьютексы гарантируют, что только один поток может заблокировать данный мьютекс. Если секция кода окружена блокировкой и разблокировкой мьютекса, то гарантируется, что только поток за раз выполняет эту секцию кода.Когда этот поток разблокирует мьютекс, другие потоки могут войти в эту область кода:
Насколько я понимаю, Mutex используется для защиты раздела кода от одновременного выполнения несколькими потоками, НЕ защитить адрес памяти переменной. Мне трудно понять концепцию, что произойдет, если у меня есть две разные функции, пытающиеся записать по одному и тому же адресу памяти.
Есть ли что-то подобное в библиотеке Boost:
Спасибо.