Дом развитие Что атомного в Java? - определение из техопедии

Что атомного в Java? - определение из техопедии

Оглавление:

Anonim

Определение - Что означает атомное?

Atomic - это инструментарий переменных классов пакетов java.util.concurrent.atomic, которые помогают в написании алгоритмов блокировки и ожидания без использования языка Java. Алгоритм, требующий только частичных потоков для постоянного прогресса, не блокируется. В алгоритме без ожидания все потоки непрерывно прогрессируют, даже в случае сбоя или задержки потока. Алгоритмы блокировки и ожидания также известны как неблокирующие алгоритмы. Неблокирующие алгоритмы используются для планирования процессов и потоков на уровне операционной системы и виртуальной машины Java.

Техопедия объясняет атомную

Все классы пакетов java.util.concurrent.atomic имеют префикс «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? - определение из техопедии