Mājas Attīstība Kas ir atoms javā? - definīcija no tehopedijas

Kas ir atoms javā? - definīcija no tehopedijas

Satura rādītājs:

Anonim

Definīcija - ko nozīmē Atomic?

Atomic ir mainīgo java.util.concurrent.atomic pakotņu klašu komplekts, kas palīdz rakstīt bloķēšanas un nogaidīšanas algoritmus ar Java valodu. Algoritms, kas prasa tikai daļējus pavedienus pastāvīgam progresam, nav bloķēts. Algoritmā bez nogaidīšanas visi pavedieni nepārtraukti progresē, pat pavedienu atteices vai aizkavēšanās gadījumos. Bloķēšanas un nogaidīšanas algoritmi ir zināmi arī kā bloķēšanas algoritmi. Nebloķējošos algoritmus izmanto procesu un pavedienu plānošanai operētājsistēmas un Java virtuālās mašīnas līmeņos.

Techopedia skaidro Atomic

Visām java.util.concurrent.atomic pakotņu klasēm ir "atomu" prefikss to nosaukumos. Java.util.concurrent.atomic paketē ir pieejami dažādi atomu mainīgo veidu veidi, tostarp:

  • AtomicBoolean
  • AtomicInteger
  • AtomicIntegerArray
  • AtomicIntegerFieldUpdater
  • AtomicLong
  • AtomicLongArray
  • AtomicLongFieldUpdater
  • AtomicReference
Java valodā sinhronizācija koordinē piekļuvi koplietotajiem pavedienu laukiem un ļauj tikai pavedieniem, kas satur slēdzenes, piekļūt un modificēt mainīgos, kurus aizsargā slēdzene. Šī pavediena modifikācijas ir redzamas sekojošajam pavedienam, bet tikai pēc tam, kad pavediens atbrīvo slēdzeni.

Kā piemēru var minēt scenāriju, kurā vītne A tur slēdzeni. A var piekļūt un veikt izmaiņas tikai mainīgajiem, kurus aizsargā šī slēdzene. Ja pavediens B tur šo slēdzeni aiz A, tad tikai B var apskatīt A izmaiņas mainīgajos lielumos, kurus aizsargā šī konkrētā slēdzene. Galvenā bloķēšanas problēma rodas, kad B mēģina iegūt A turētu slēdzeni. Šajā gadījumā B tiek bloķēts, lai gaidītu, līdz slēdzene ir pieejama. Nebloķējošie algoritmi atrisina šo problēmu.


Galvenais atomu klašu veidošanas mērķis ir nebloķējošu datu struktūru un ar tām saistīto infrastruktūras klašu ieviešana. Atomu klases neizmanto java.lang.Integer un saistīto klašu aizstājējus. Lielākā daļa java.util.concurrent pakešu klašu tieši vai netieši sinhronizācijas vietā izmanto atomu mainīgos. Atomu mainīgie tiek izmantoti arī, lai sasniegtu lielāku caurlaidspēju, kas nozīmē augstāku lietojumprogrammu servera veiktspēju.

Šī definīcija tika uzrakstīta Java kontekstā
Kas ir atoms javā? - definīcija no tehopedijas