Оглавление:
Определение - что означает атомная операция?
Атомарные операции в параллельном программировании - это программные операции, которые выполняются совершенно независимо от любых других процессов.
Атомарные операции используются во многих современных операционных системах и системах параллельной обработки.
Техопедия объясняет атомную операцию
Атомарные операции часто используются в ядре, основном компоненте большинства операционных систем. Однако большинство компьютерного оборудования, компиляторов и библиотек также обеспечивают различные уровни атомарных операций.
При загрузке и хранении компьютерное оборудование выполняет запись и чтение в память размером с слово. Чтобы извлечь, сложить или вычесть, увеличение значения происходит с помощью атомарных операций. Во время атомарной операции процессор может считывать и записывать местоположение во время одной и той же передачи данных. Таким образом, другой механизм ввода / вывода или процессор не могут выполнять задачи чтения или записи в памяти, пока элементарная операция не завершится.
Если данные используются атомарной операцией, которая также используется другими атомарными или неатомарными операциями, они могут существовать только в средах последовательной обработки, или необходимо использовать механизмы блокировки, чтобы избежать ошибок данных. Сравнение и замена - это еще один метод, но он не гарантирует целостность данных для атомарных результатов работы.
Проблема возникает, когда две операции, выполняющиеся параллельно (параллельные операции), используют одни и те же данные и возникает несоответствие между результатами операций. Блокировка блокирует переменные данные и инициирует последовательную работу атомарных процессов, которые используют одни и те же данные или каким-то образом влияют на них.
