Hjem Utvikling Hva er atomisk i java? - definisjon fra techopedia

Hva er atomisk i java? - definisjon fra techopedia

Innholdsfortegnelse:

Anonim

Definisjon - Hva betyr Atomic?

Atomic er et verktøysett for variabler java.util.concurrent.atomic-pakkeklasser, som hjelper deg med å skrive lås og ventefrie algoritmer med Java-språket. En algoritme som bare krever delvise tråder for konstant fremgang, er låsefri. I en ventefri algoritme går alle tråder kontinuerlig, selv i tilfeller av trådfeil eller forsinkelse. Låse- og ventefrie algoritmer er også kjent som ikke-blokkerende algoritmer. Ikke-blokkerende algoritmer brukes til prosess- og trådplanlegging på operativsystem- og Java-virtuelle maskinnivå.

Techopedia forklarer Atomic

Alle java.util.concurrent.atomic-pakningsklasser har det "atomiske" prefikset i navnene. Det er forskjellige typer atomvariabler som er tilgjengelige i java.util.concurrent.atomic-pakken, inkludert:

  • AtomicBoolean
  • AtomicInteger
  • AtomicIntegerArray
  • AtomicIntegerFieldUpdater
  • AtomicLong
  • AtomicLongArray
  • AtomicLongFieldUpdater
  • AtomicReference
På Java-språket koordinerer synkronisering tilgang til delte trådfelt og lar bare tråder som holder låser få tilgang til og endre variabler beskyttet av låsen. Endringene av denne tråden er synlige for tråden som følger, men først etter at tråden løser ut låsen.

Et eksempel er et scenario der tråden A holder en lås. A er bare i stand til å få tilgang til og gjøre endringer i variabler beskyttet av denne låsen. Hvis tråd B holder denne låsen etter A, kan bare B se A's endringer på variablene beskyttet av den aktuelle låsen. Hovedproblemet med låsing oppstår når B prøver å skaffe seg en lås som er i A. I dette tilfellet blokkeres B for å vente til låsen er tilgjengelig. Ikke-blokkerende algoritmer løser dette problemet.


Hovedformålet bak å bygge atomklasser er å implementere ikke-blokkerende datastrukturer og tilhørende infrastrukturklasser. Atomklasser fungerer ikke som erstatning for java.lang.Integer og relaterte klasser. De fleste java.util.concurrentpakkeklasser bruker atomvariabler i stedet for synkronisering, enten direkte eller indirekte. Atomvariabler brukes også for å oppnå høyere gjennomstrømning, noe som betyr høyere ytelse for applikasjonsserver.

Denne definisjonen ble skrevet i sammenheng med Java
Hva er atomisk i java? - definisjon fra techopedia