У дома развитие Какво е атомно в java? - определение от техопедия

Какво е атомно в java? - определение от техопедия

Съдържание:

Anonim

Определение - Какво означава Atomic?

Atomic е инструментариум от променливи класове пакети java.util.concurrent.atomic, които помагат при писането на алгоритми за заключване и без изчакване с езика на Java. Алгоритъм, изискващ само частични нишки за постоянен напредък, не е заключен. При алгоритъм за изчакване всички нишки напредват непрекъснато, дори в случаите на повреда или забавяне на нишката. Алгоритмите за заключване и без изчакване също са известни като алгоритми за блокиране. Неблокиращите алгоритми се използват за планиране на процеси и нишки на ниво операционна система и виртуална машина на Java.

Техопедия обяснява Atomic

Всички класове пакети java.util.concurrent.atomic имат в своите имена „атомен“ префикс. Има различни видове атомни променливи, налични в пакета java.util.concurrent.atomic, включително:

  • AtomicBoolean
  • AtomicInteger
  • AtomicIntegerArray
  • AtomicIntegerFieldUpdater
  • AtomicLong
  • AtomicLongArray
  • AtomicLongFieldUpdater
  • AtomicReference
На езика на Java синхронизацията координира достъпа до споделени полета на нишката и позволява само на нишки, които държат ключалки, за достъп и промяна на променливи, защитени от ключалката. Модификациите на тази нишка са видими за следващата нишка, но само след като нишката освободи ключалката.

Пример е сценарий, при който нишка A държи заключване. A може да има достъп и да променя само променливи, защитени от това заключване. Ако нишка B държи това заключване след A, тогава само B може да вижда промените на A на променливите, защитени от това конкретно заключване. Основният проблем със заключването възниква, когато B се опита да придобие заключване, задържано от A. В този случай B се блокира, за да изчака, докато блокировката е налична. Неблокиращите алгоритми решават този проблем.


Основната цел зад изграждането на атомни класове е прилагането на неблокиращи структури от данни и свързаните с тях инфраструктурни класове. Атомните класове не служат като заместители на java.lang.Integer и сродните класове. Повечето класове пакети java.util.concurrent използват атомни променливи вместо синхронизация, пряко или косвено. Атомните променливи също се използват за постигане на по-висока производителност, което означава по-висока производителност на сървъра на приложения.

Това определение е написано в контекста на Java
Какво е атомно в java? - определение от техопедия