40 / 29 / 11
Регистрация: 21.06.2019
Сообщений: 201
|
|
1 | |
Как работают атомарные операции в C++13.02.2021, 10:32. Показов 962. Ответов 3
Всем привет! Довольно поздно у меня возник такой вопрос в теме многопоточки (про атомики вроде уже довольно много изучил, но задумался и осознал что не всё понимаю): а как же работают атомарные операции для какого-нибудь std::atomic<int> без использования мьютекса? Что вообще делает код процессора без мьютекса, да так чтобы эта операция не нарушала инвариант? Используются ли всё-таки какие-то примитивы синхронизации в этом случае или нет?
0
|
13.02.2021, 10:32 | |
Ответы с готовыми решениями:
3
Атомарные операции атомарные операции в C/C++ Многопоточность, атомарные операции Атомарные операции |
Неэпический
|
|
13.02.2021, 11:12 | 2 |
Lock-free структуры данных. 1 — Начало
И далее по-порядку читаем статьи из того же цикла.
1
|
610 / 415 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
|
|
13.02.2021, 11:18 | 3 |
Не знаю, как на ПК, но на "серьезных" системах, механизмы fine-grain-синхронизации реализуются на аппаратном уровне (типа test_and_set, spinlock и т.д.). А еще лучше - потоковая архитектура, где вычисления запускаются по готовности операндов и синхронизация не нужна вообще.
1
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
13.02.2021, 12:03 | 4 |
1
|
13.02.2021, 12:03 | |
13.02.2021, 12:03 | |
Помогаю со студенческими работами здесь
4
атомарные операции Как работают асинхронные операции в Qt Объясните как работают битовые операции C++ Не работают побитовые операции с++ Операции +-*/ в условиях работают? Не работают операции добавления и редактирования Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |