426 читали · 1 год назад
Использование мьютекса в Go (Golang) — с примерами
В этом посте мы обсудим, почему мы используем мьютексы в Go, и узнаем, как использовать мьютекс для блокировки данных и исправления условий гонки. Go позволяет нам одновременно запускать код с помощью горутин. Однако, когда параллельные процессы обращаются к одному и тому же фрагменту данных, это может привести к race conditions. Мьютексы — это структуры данных, предоставляемые пакетом sync . Они могут помочь нам заблокировать разные разделы данных , чтобы только одна горутина могла получить к ним доступ в каждый момент времени...
893 читали · 4 года назад
[C++] часть 2: МЬЮТЕКС. Пишем наш первый код для многопоточной среды
Часть 1, Часть 2 В прошлой статье мы разобрались с тем, что такое конкурентность/параллелизм и зачем нужна синхронизация. Настала пора изучить примитивы синхронизации, которые предлагает нам стандартная библиотека шаблонов C++. Первым из них будет std::mutex. Но сначала ознакомьтесь с картой статьи (она пригодится, если вы вдруг запутаетесь). Итак, начнём. Что такое мьютекс? Мьютекс (англ. mutex, от mutual exclusion — «взаимное исключение») — это базовый механизм синхронизации. Он предназначен для...