Будинки Розвиток Що таке атом у яві? - визначення з техопедії

Що таке атом у яві? - визначення з техопедії

Зміст:

Anonim

Визначення - Що означає Атомний?

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

Техопедія пояснює Атомний

Усі класи пакунків 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
Що таке атом у яві? - визначення з техопедії