Hjem Udvikling Hvad er atomisk i java? - definition fra techopedia

Hvad er atomisk i java? - definition fra techopedia

Indholdsfortegnelse:

Anonim

Definition - Hvad betyder Atom?

Atomic er et værktøjssæt af variable java.util.concurrent.atomic-pakningsklasser, som hjælper med at skrive lås og ventefri algoritmer med Java-sproget. En algoritme, der kun kræver delvise tråde til konstant fremgang, er låsfri. I en ventefri algoritme skrider alle tråde kontinuerligt frem, selv i tilfælde af trådfejl eller forsinkelse. Lås og ventefri algoritmer er også kendt som ikke-blokerende algoritmer. Ikke-blokerende algoritmer bruges til proces- og trådplanlægning på operativsystem- og Java-virtuelle maskiniveau.

Techopedia forklarer Atomic

Alle java.util.concurrent.atomic-pakningsklasser har det "atomiske" præfiks i deres navn. Der er forskellige typer atomvariabler, der er tilgængelige i java.util.concurrent.atomic-pakken, herunder:

  • AtomicBoolean
  • AtomicInteger
  • AtomicIntegerArray
  • AtomicIntegerFieldUpdater
  • AtomicLong
  • AtomicLongArray
  • AtomicLongFieldUpdater
  • AtomicReference
På Java-sproget koordinerer synkronisering adgang til delte trådfelter og tillader kun, at tråde, der holder låse, får adgang til og ændrer variabler, der er beskyttet af låsen. Denne tråds ændringer er synlige for den tråd, der følger, men først efter at tråden frigør låsen.

Et eksempel er et scenarie, hvor tråd A holder en lås. A er kun i stand til at få adgang til og foretage ændringer i variabler, der er beskyttet af denne lås. Hvis tråd B holder denne lås efter A, kan kun B se A's ændringer på variablerne, der er beskyttet af den pågældende lås. Det største problem med låsning opstår, når B forsøger at erhverve en lås, der er i A. I dette tilfælde blokeres B for at vente, indtil låsen er tilgængelig. Ikke-blokerende algoritmer løser dette problem.


Hovedformålet bag opbygning af atomklasser er at implementere ikke-blokerende datastrukturer og deres relaterede infrastrukturklasser. Atomklasser fungerer ikke som erstatning for java.lang.Integer og beslægtede klasser. De fleste java.util.concurrent-pakkeklasser bruger atomvariabler i stedet for synkronisering, enten direkte eller indirekte. Atomvariabler bruges også til at opnå større gennemstrømning, hvilket betyder højere applikationsserverydelse.

Denne definition blev skrevet i forbindelse med Java
Hvad er atomisk i java? - definition fra techopedia