Пример std::lock_guard, объяснение, почему это работает ⇐ C++
Пример 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; я
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Почему Guard let self = self else { return } можно успешно скомпилировать
Anonymous » » в форуме IOS - 0 Ответы
- 35 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Почему Guard let self = self else { return } можно успешно скомпилировать
Anonymous » » в форуме IOS - 0 Ответы
- 26 Просмотры
-
Последнее сообщение Anonymous
-