Атомарные операции в Java
Значения переменных могут стать противоречивыми во время многопоточности, когда несколько потоков одновременно обращаются к одной и той же переменной и записывают ее в нее. Для поддержания целостности данных Java предоставляет атомарные операции, гарантирующие неделимость определенных операций. Операция является атомарной, если она завершается без прерывания.
Атомарные операции в Java
Следующие операции в Java считаются атомарными:
Ограничения
Важно отметить, что атомарность не подразумевает видимость. Хотя частично записанная переменная int гарантированно не будет видна другому потоку, новое значение может быть не видно сразу.
64-битные значения на обычных процессорах
На процессорах с 64-битной архитектурой операции с длинными и двойными переменными обычно также являются атомарными. Однако это не гарантируется спецификацией JVM. Для более точного контроля атомарности рассмотрите возможность использования классов AtomicLong или AtomicDouble из пакета java.concurrent.atomic.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3