Dom Razvoj Što je atomska u javi? - definicija iz tehopedije

Što je atomska u javi? - definicija iz tehopedije

Sadržaj:

Anonim

Definicija - Što znači Atomski?

Atomic je skup alata promjenjivih klasa paketa java.util.concurrent.atomic koji pomažu u pisanju algoritama zaključavanja i čekanja bez Java-jezika. Algoritam koji zahtijeva samo djelomične niti za konstantan napredak ne uključuje zaključavanje. U algoritmu bez čekanja, sve niti kontinuirano napreduju, čak i u slučaju kvara ili kašnjenja niti. Algoritmi za zaključavanje i bez čekanja poznati su i kao algoritmi za blokiranje. Neblokirajući algoritmi koriste se za zakazivanje procesa i niti na operacijskom sustavu i razini Java virtualnog stroja.

Tehopedija objašnjava atomsku

Sve klase paketa java.util.concurrent.atomic u svojim nazivima imaju "atomski" prefiks. Postoje različite vrste atomskih varijabli dostupne u paketu java.util.concurrent.atomic, uključujući:

  • AtomicBoolean
  • AtomicInteger
  • AtomicIntegerArray
  • AtomicIntegerFieldUpdater
  • AtomicLong
  • AtomicLongArray
  • AtomicLongFieldUpdater
  • AtomicReference
Na jeziku Java, sinkronizacija koordinira pristup dijeljenim poljima niti i omogućuje samo nitima koji drže brave za pristup i izmjenu varijabli zaštićenih bravom. Modifikacije ove niti vidljive su nizu koji slijedi, ali tek nakon što nit otpusti bravu.

Primjer je scenarij gdje nit A drži bravu. A može pristupiti i mijenjati samo varijable koje su zaštićene ovom bravom. Ako nit B drži ovu bravu nakon A, tada samo B može vidjeti A promjene na varijablama zaštićenim tim zaključavanjem. Glavni problem s zaključavanjem nastaje kada B pokušava dobiti zaključavanje koje drži A. U ovom slučaju B se blokira i čeka dok brava ne postane dostupna. Neblokirani algoritmi rješavaju ovaj problem.


Glavna svrha iza izgradnje atomske klase je primjena neblokirajućih podatkovnih struktura i njihovih povezanih klasa infrastrukture. Atomske klase ne služe kao zamjena za java.lang.Integer i srodne nastave. Većina java.util.concurrent klasa paketa koristi atomske varijable umjesto sinkronizacije, bilo izravno ili neizravno. Atomske varijable također se koriste za postizanje veće propusnosti, što znači veće performanse poslužitelja aplikacija.

Ova je definicija napisana u kontekstu Jave
Što je atomska u javi? - definicija iz tehopedije