Пример std::lock_guard, объяснение, почему это работает ⇐ C++
-
Anonymous
Пример std::lock_guard, объяснение, почему это работает
В моем проекте я достиг точки, требующей взаимодействия между потоками ресурсов, в которые вполне можно записывать данные, поэтому синхронизация является обязательной. Однако я не понимаю синхронизацию ни на каком другом уровне, кроме базового.
Рассмотрим последний пример по этой ссылке: C++11/C++14 7. ПОТОКИ С ОБЩЕЙ ПАМЯТЬЮ И MUTEX – 2020
#include #include #include #include #include использование пространства имен std; // глобальная переменная std::listmyList; // глобальный экземпляр std::mutex для защиты глобальной переменной std::mutex myMutex; void addToList (int max, int интервал) { // доступ к этой функции является взаимоисключающим std::lock_guard Guard(myMutex); for (int я = 0; я
В моем проекте я достиг точки, требующей взаимодействия между потоками ресурсов, в которые вполне можно записывать данные, поэтому синхронизация является обязательной. Однако я не понимаю синхронизацию ни на каком другом уровне, кроме базового.
Рассмотрим последний пример по этой ссылке: C++11/C++14 7. ПОТОКИ С ОБЩЕЙ ПАМЯТЬЮ И MUTEX – 2020
#include #include #include #include #include использование пространства имен std; // глобальная переменная std::listmyList; // глобальный экземпляр std::mutex для защиты глобальной переменной std::mutex myMutex; void addToList (int max, int интервал) { // доступ к этой функции является взаимоисключающим std::lock_guard Guard(myMutex); for (int я = 0; я
Мобильная версия